【发布时间】:2013-03-18 22:46:48
【问题描述】:
我正在尝试使用 jQuery 对话框在我的页面中输入数据。由于我不明白的原因,当用户按下回车键时,整个页面都会刷新。它甚至不验证文本框中的内容。
I've create a jsfiddle 显示问题。我检查了the documentation here,我的代码似乎遵循了指导方针,但我一定遗漏了一些东西!
这是我如何调用对话框
$("#create-subtitle")
.click(function () {
$("#dialog-form-subtitles").dialog("open");
return false;
});
这是我的对话之一:
$("#dialog-form-steptitles").dialog({
autoOpen: false,
height: 220,
width: 450,
modal: true,
buttons: {
"Ajouter un sous-titre pour les étapes": function () {
var bValid = true;
allFieldsStepTitle.removeClass("ui-state-error");
bValid = bValid && checkLength(nameStepTitle, "sous-titre pour les étapes", 3, 50);
if (bValid) {
var $parent = $("#StepTitles");
var numElem = $parent.find("tr").length;
$('#StepTitles > tbody:last').append('<tr><td><input class="text-box single-line" id="StepTitles_' + numElem + '__Name" name="StepTitles[' + numElem + '].Name" type="text" value="' + nameStepTitle.val() + '" /></td><td> <ul id="ListStep' + numElem + '"></ul></td><td><button id="create-step' + numElem + '" name="create-step' + numElem + '" class="btn btn-success">Ajouter une étape</button></td></tr>');
$(this).dialog("close");
}
},
Cancel: function () {
$(this).dialog("close");
}
},
close: function () {
allFieldsStepTitle.val("").removeClass("ui-state-error");
}
});
有人可以帮我吗?
【问题讨论】:
-
在你的jsFiddle中,点击
jsHint按钮,你会很快看到你的错误。 -
不太确定 jsHint 是如何工作的。你能给我更多信息或者在下面写一个完整的答案吗? :)
-
单击 jsHint 按钮并在 JavaScript 窗格中查看代码的行号。将鼠标悬停在红点上...这些是您的 JavaScript 问题。
-
好的,我修好了。 jsfiddle.net/DarkJaff/m8Ps2 仍然做同样的事情:(
-
抱歉……值得一试。我唯一的其他建议是仔细比较小提琴中的每一段代码与演示页面上的代码。我注意到您有多种表格。将其剥离为 ONE,看看它是否有效,然后从那里重新构建它。