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

时间:2018-06-28 16:46:41

标签: javascript jquery forms serialization

当输入为空时有效,但是一旦输入一个值,它什么也不返回。

更新:如果我发送表单时没有输入任何输入,然后输入输入并再次发送,则不会返回任何内容。

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

错误功能

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);
}

1 个答案:

答案 0 :(得分:0)

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