我的站点上有一个HTML表单,在使用jQuery验证后,它通过Ajax提交给一个php文件。这是开始表格标签:
<form action="#" method="post">我正在考虑将path_to_process_file.php放在表单action中(如下面所示),这样如果他们在浏览器中禁用了JavaScript,他们仍然能够填写和提交表单。
<form action="../path_to_process_file.php" method="post">我的问题
提交
**更新:这是我用来通过Ajax提交的JS。
$( document ).bind( "pageinit", function( event, data ) {
$("#rackback-quote-request-form").validate({
// Custom validation messages
messages: { quote_name: "Please enter your full name."},
errorElement: "p",
submitHandler: function(form){
//Get the data from the form fields and format correctly
var product = $("#rackback-quote-request-form #product").val();
var data = 'product=' + product;
$.ajax({
type: "POST",
url: "../php/QR-rackback.php",
data: data,
success: function(data) {
$("#rackback-quote-request-wrapper").hide();
$("#rackback-quote-request-success").append("<center><h3>Thanks! Your quote request has been sent.</h3></center>" );
},
error: function(){
alert("Javascript error, please try again");
}
});
return false;
}
});
});我该把event.preventDefault();放在哪里?**
发布于 2012-03-14 18:19:17
那么,您的JS将需要附加到提交事件。在这种情况下,您可以阻止它做它自然会做的事情,例如:
$('#form_id').submit(function(event) {
event.preventDefault();
// use jQuery's ajax() method here to do what you want
});发布于 2012-03-14 18:18:29
首先执行JavaScript,然后您就有可能抑制发送表单的正常(HTML )方式。
根据您使用的框架,有许多方法可以做到这一点,但是对于简单的普通JavaScript,您可以执行以下步骤:
如果您想抑制表单的“正常提交”( false.方式),只需返回
https://stackoverflow.com/questions/9707723
复制相似问题