将表单名称发送到 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&Pin=1234
@abney317 尝试在不输入输入的情况下提交表单,然后输入输入并发送。它什么都不返回吗?
工作正常
@abney317 当我在没有数据的情况下提交,然后再次提交有数据时,FireFox 和 Chrome 都会出现错误。
你用的是什么版本的jQuery
【参考方案1】:
在处理错误的函数中,我重置了 onclick,但未能包含 (form.name)。
【讨论】:
以上是关于将表单名称发送到 JS/jQuery 和序列化的主要内容,如果未能解决你的问题,请参考以下文章
如何将Javascript数组作为Json与html表单结合发送?