我正在使用jquery onclick提交表单。在PHP方面,它会检查是否已存在同名的现有文档。如果为true,则在响应中返回一个小表单,其中包含3个选项,具体取决于记录数据。这些选项显示在消息窗口中。其中一个选择需要重新提交以前的表单数据,替换新名称。
问题是,加载页面时更改名称表单不存在,因此无法识别新表单中的ClickCheck类。
如何使用新的DocName重新提交此表单?
主表单中的提交(实际上这是四个提交中的一个)
<a class="ClickCheck" id="Create" href="javascript:void(0)">Create Bill</a>
jQuery:
$('.ClickCheck').click(function()
{
var ButtonID = $(this).attr('id');
$('#Clicked').val(ButtonID);
var Form = $('#TheForm');
if(ButtonID == "Save")
{
// Do save code
}
else
{
var FormData = Form.serialize();
$.ajax(
{
type: "POST",
url: "scripts/Ajax.php",
data: FormData,
success: function(response)
{
$('#MWContent').html(response);
$('#MessageWindow').show();
}
});
}
});
然后,在回复中,我有:
<form id="ChangeName" name="ChangeName">
Use another name:
<input type="text" id="DocName" name="DocName" size="60" maxlength="60" value="" placeholder="Document Name" />
<a class="ClickCheck" id="NewName" href="javascript:void(0)">Go</a>
</form>
我们的想法是让“NewName”重新提交表单(当然是使用新名称。)当然,我可以在点击功能中检测到它。
答案 0 :(得分:1)
您可以将click()
事件附加到document
以使其成为全局。
$(document).on('click', '.ClickCheck', function(e){
e.preventDefault() // <<<< Either this
// Do stuff
return false // <<<< Or this
})
也不要使用href="javascript:void(0)"
,在回调函数中使用return false
或e.preventDefault()
。