Jquery在ajax返回后第二次没有捕获输入

时间:2014-02-05 05:26:58

标签: jquery twitter-bootstrap-3

我有这个模态,我正在使用编辑名为“newValue”的字段的值。当我提交表单时,jquery正确捕获新值(假设编辑一些值到aaa)。但是,当我再次提交表单时,在从ajax获得第一个返回后,(假设编辑另一个值为bbb),该值仍然被捕获为aaa。

表格:

<form class="formEditDataTemplateField" data-validate="parsley" style="margin: 0;" accept-charset="UTF-8" action="http://localhost" method="POST">
    <div>
        Edit "Data-field" to
    </div>
    <div>
        <input type="text" value="Add1" style="width: 200px; margin-bottom: 2px" placeholder="Enter Data-field" required="required" id="newValue" name="newValue" class="form-control">
    </div>                

    <input type="submit" value="Save" onclick="javascript:$('.formEditData').parsley('validate');" class="btn btn-primary" name="send">      
</form>

jQuery:

$(document).ready(function()
{

  $('form.formEditDataTemplateField').on('submit', function()
    {       
        var to =  $('#newValue').val();

        $.ajax(
        {
            type: 'POST',
            url: 'my-url',
            data:
            {  
                to: to,
                action: 'edit'

            },
            cache: false,
            success: function(response)
            {
                if($.trim(response) == "true")
                {
                    alert("success")
                }
                else
                {
                    alert("failed")                    
                }
            }
        });

        return false;  

    })
})

已添加信息

我在页面上有2个链接(“aaa”和“bbb”),每个链接使用相同的引导模式来编辑链接值,并使用将在模态文本框中输入的新值。所以我点击“aaa”,在模态中输入“aaa1”,使用ajax更新并返回成功REFRESH页面。然后我点击“bbb”,输入“bbb1”并尝试更新,jquery $('#newValue')。val();是“aaa1”。希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

终于解决了。在我的表单选择器之前添加此行解决了问题:

$(document).off("submit", "form.formEditDataTemplateField");