将表单名称发送到 JS/jQuery 和序列化

Posted

技术标签:

【中文标题】将表单名称发送到 JS/jQuery 和序列化【英文标题】:Send Form Name to JS/jQuery & Serialize 【发布时间】:2018-12-07 19:59:39 【问题描述】:

当输入为空时它可以工作,但是一旦它们有一个值它就什么也不返回。

更新:如果我在不输入任何输入的情况下发送表单,然后输入输入并再次发送,则不会返回任何内容。

新更新:我没有包含我创建的用于处理错误的函数。该功能似乎以某种方式导致了问题。我在下面添加代码。将函数从代码中删除后,错误不会发生。

误差函数

function showError(id)
        $('html,body').animate(scrollTop: $("#"+id).offset().top,'slow');
        $("#"+id).css( "background-color", "#ffcece" );
        $("#sendBtn").attr("onclick","sendForm()");
        $('#sendBtn').css("background-color", "#29559c");
        document.getElementById('sendBtn').innerHTML = "Submit Application";
        $('#frm-err').css("color", "red");
        $('#frm-err').html('Please fill out the entire application');

HTML

<form name="membershipForm" id="membershipForm" onsubmit="return false">
    <input required type="text" id="Name" name="Name" placeholder="Name">
    <input required type="text" id="Pin" name="Pin" placeholder="Pin">
    <button id="sendBtn" onclick="sendForm(form.name);return false;">Submit</button>
</form>

JS/jQuery

function sendForm(formName)        
    var formData = $("#"+formName).serialize().replace(/\+/g,'%20');
    alert(formData);

【问题讨论】:

对我来说很好。提醒Name=Test&amp;Pin=1234 @abney317 尝试在不输入输入的情况下提交表单,然后输入输入并发送。它什么都不返回吗? 工作正常 @abney317 当我在没有数据的情况下提交,然后再次提交有数据时,FireFox 和 Chrome 都会出现错误。 你用的是什么版本的jQuery 【参考方案1】:

在处理错误的函数中,我重置了 onclick,但未能包含 (form.name)。

【讨论】:

以上是关于将表单名称发送到 JS/jQuery 和序列化的主要内容,如果未能解决你的问题,请参考以下文章

如何将本地存储从 JS 发送到 PHP 文件(?)

Jquery验证只能验证表单吗,能验证表单里指定的DIV吗

Jqueryd的一些 总结

如何将Javascript数组作为Json与html表单结合发送?

使用 js/jquery 在 ruby​​ on rails 中隐藏 form_tag 上的提交按钮

$.ajax$.postfrom表单序列化工具