我有许多填充(输入)或选定(下拉)的字段,它们一起工作以创建新页面。
如果输入有任何问题,我试图验证输入并阻止页面创建。没有使用任何表格。
问题是单击提交时$("#netsubmit").submit(function( event ))
永远不会运行。没有抛出任何错误,也没有表明为什么不进行处理。
我输入的html是:
<input id="netsubmit" type="submit" value="Submit" onClick="newNet()"
title="Submit The New Net">
我的JQuery javascript是:
$(document).ready(function () {
$("#netsubmit").submit(function( event ) {
alert("in it");
var callentered = $("#callsign").val();
if (callentered == "") {
event.preventDefault();
alert("Please enter a call sign first.");
$("#callsign").focus();
}
});
});
答案 0 :(得分:3)
这可能不起作用,因为正如您所说的,您没有使用form元素。来自jquery docs:
当用户试图提交表单时,submit事件被发送到一个元素。它只能附加到表单元素上
您可以使用onclick事件fetch
指定的函数来验证数据。
答案 1 :(得分:1)
.submit()
只能与documentation中所述的<form>
元素一起使用:
它只能附加到
<form>
个元素上。
如果您不想使用form标记,则可以改为使用.click()
,就像这样:
$("#netsubmit").click(function(event) {
alert("in it");
});
答案 2 :(得分:1)
如果您阅读了有关在MDN上提交的文档,则明确表示
提交表单时会触发Submit事件。
请注意,仅在表单元素(而不是按钮或 提交输入。 (表单是提交的,不是按钮。)
如果愿意
<form id="myform">
<input id="netsubmit" type="submit" value="Submit" onClick="newNet()" title="Submit The New Net">
</form>
然后更改代码
$(document).ready(function () {
$("#myform").submit(function( event ) {
alert("in it");
var callentered = $("#callsign").val();
if (callentered == "") {
event.preventDefault();
alert("Please enter a call sign first.");
$("#callsign").focus();
}
});
});
工作正常