我对JqueryUI Dialog有一个奇怪的困难。此代码在输入名称为"提交"的情况下不起作用。它适用于所有其他输入名称(例如:submit2)。有人知道为什么以及如何解决这个问题,因为我不能为不同的原因更改输入名称? Jquery脚本有问题,我找不到。
<form action="?" method="get" class="alert2">
<input name="test" type="text" value="dataaaa" />
<input name="submit" type="submit" value="RECORD" />
</form>
$(function () {
var confirmdialog = $('<div id="dialog"></div>').appendTo('body');
$("#dialog").dialog({
modal: true,
bgiframe: true,
width: 300,
height: 200,
autoOpen: false,
title: 'Confirm'
});
$('form.alert2 input[type=submit]').click(function (theINPUT) {
theINPUT.preventDefault();
var theFORM = $(theINPUT.target).closest("form");
$('#dialog').html('<P>confirm ?</P>');
$("#dialog").dialog('option', 'buttons', {
"Confirm": function () {
theFORM.submit();
},
"Cancel": function () {
$(this).dialog("close");
}
});
$("#dialog").dialog("open");
});
});
答案 0 :(得分:0)
Click事件适用于按钮类型的元素。当元素类型保持为&#34;提交&#34;点击事件将无法产生预期的输出。
你能试试吗?
<form action="?" method="get" class="alert2">
<input name="test" type="text" value="dataaaa" />
<input name="submit" type="button" value="RECORD" />
</form>
$(function(){
var confirmdialog = $('<div id="dialog"></div>').appendTo('body');
$("#dialog").dialog({
modal: true,
bgiframe: true,
width: 300,
height: 200,
autoOpen: false,
title: 'Confirm'
});
$('form.alert2 input[type=button]').click(function(theINPUT){
theINPUT.preventDefault();
var theFORM = $(theINPUT.target).closest("form");
$('#dialog').html('<P>confirm ?</P>');
$("#dialog").dialog('option', 'buttons', {
"Confirm" : function() {
theFORM.submit();
},
"Cancel" : function() {
$(this).dialog("close");
}
});
$("#dialog").dialog("open");
});
});