我的页面上有一个表单。该表单包含一个文本框和一个提交按钮。
提交表单后,通过单击按钮或在文本框中按Enter,我要进行查找(在这种情况下,使用Bing
Maps对邮政编码进行地理编码),然后像往常一样将表单提交到服务器。
我当前的方法是将提交事件的处理程序添加到一个表单中,然后在完成后调用Submit(),但是我无法使它正常工作,并且无法调试问题:
$(document).ready(function () {
$("form").submit(function (event) {
var postcode = $.trim($("#Postcode").val());
if (postcode.length === 0) {
return false;
}
var baseUrl = "http://dev.virtualearth.net/REST/v1/Locations/UK/";
var apiKey = "myKey";
var url = baseUrl + postcode + "?key=" + apiKey + "&jsonp=?";
$.getJSON(url, function (result) {
if (result.resourceSets[0].estimatedTotal > 0) {
var location = result.resourceSets[0].resources[0].point.coordinates;
$("#latitude").val(location[0]);
$("#longitude").val(location[1]);
$("form").submit();
}
});
});
});
event.preventDefault()
是你的朋友在这里。在完成实际的ajax请求之前,将提交表单。您需要停止表单提交,然后执行ajax,然后进行表单提交。如果您没有在其中停靠,它将一直运行,唯一有时间要做的就是提交表单。
$(document).ready(function () {
$("form").submit(function (event) {
// prevent default form submit
event.preventDefault();
var postcode = $.trim($("#Postcode").val());
if (postcode.length === 0) {
return false;
}
var baseUrl = "http://dev.virtualearth.net/REST/v1/Locations/UK/";
var apiKey = "myKey";
var url = baseUrl + postcode + "?key=" + apiKey + "&jsonp=?";
$.getJSON(url, function (result) {
if (result.resourceSets[0].estimatedTotal > 0) {
var location = result.resourceSets[0].resources[0].point.coordinates;
$("#latitude").val(location[0]);
$("#longitude").val(location[1]);
$("form").submit();
}
});
});
});
但是,当您将放在preventDefault
那里时,您将无法继续提交表单$('form').submit();
。您需要将其作为ajax请求发送,或为定义一个条件preventDefault
。
大概是这样的:
$(document).ready(function () {
var submitForReal = false;
$("form").submit(function (event) {
var postcode = $.trim($("#Postcode").val());
if (postcode.length === 0) {
return false;
}
// prevent default form submit
if(!submitForReal){
event.preventDefault();
}else{
var baseUrl = "http://dev.virtualearth.net/REST/v1/Locations/UK/";
var apiKey = "myKey";
var url = baseUrl + postcode + "?key=" + apiKey + "&jsonp=?";
$.getJSON(url, function (result) {
if (result.resourceSets[0].estimatedTotal > 0) {
var location = result.resourceSets[0].resources[0].point.coordinates;
$("#latitude").val(location[0]);
$("#longitude").val(location[1]);
submitForReal = true;
$("form").submit();
}
});
}
});
});
我试图在单击表单提交按钮时使用Jquery启动一个函数,但该函数需要在表单实际提交之前启动。 我试图在提交时将一些标记属性复制到隐藏的文本字段中,然后提交表单。 我已经通过使用功能(当提交按钮悬停在上方时)成功实现了这一点,但这在使用触摸的移动设备上不起作用。 我玩过提交函数,但是当表单提交时,而不是之前,函数会触发,所以值不会保存在字段中。 非常感谢。
问题内容: JavaScript位: HTML位: 这就是我要使用的代码。我的想法是在使用Ajax发送表单之前,先验证所有输入。我现在已经尝试过许多版本,但是每次即使表单没有完全填写,最终还是要提交。我所有的输入都是“必需”类的。谁能看到我做错了吗? 另外,由于我的输入名称是用php生成的,因此我依赖于基于类的要求,因此我永远无法确定自己获得的名称或输入类型。 我在“页面”中显示/隐藏问题。 JS
本文向大家介绍EasyUI中在表单提交之前进行验证,包括了EasyUI中在表单提交之前进行验证的使用技巧和注意事项,需要的朋友参考一下 使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return $("#form1").form('validate')方法即可,EasyUi中form模块中的from('validate')方法会自行对我们指定的表单
我正在尝试为我的登录构建一个提交表单,但我不知道为什么这个操作不起作用。有什么想法吗? > 列表项jquery $(“Form”).Submit(函数(e){e.PreventDefault();switch(this.id){case“login-form”:var$lg_username=$('#login_username').val();var$lg_password=$('#login_
问题内容: 我希望HTML表单提交后不执行任何操作。 这是不好的,因为它会导致页面重新加载。 基本上,我希望每当按下一个按钮或有人在键入数据后点击它时,都将调用Ajax函数。是的,我可以删除表单标签并添加,只需从按钮的onclick事件中调用该函数即可,但我也希望“命中进入”功能而又不至于让人头疼。 问题答案: 通过使用您在“提交”按钮中调用的JavaScript代码,可以停止提交表单。 基本上,
问题内容: 我有多个具有相同班级名称的表格 那么我如何才能在我尝试使用的这n个表格中提交一个表格 但是它总是在n个表单中提交第一个表单。如何在n个表单之间提交随机表单。愿任何人能帮助我。 问题答案: 序列化表格时,需要引用该表格…