我的网站上有一个HTML表单,在使用jQuery验证后通过Ajax提交到php文件。这是开场表格标签:
<form action="#" method="post">
我正在考虑将path_to_process_file.php放在action
格式中(如下所示),这样如果他们在浏览器中禁用了JavaScript,他们仍然可以填写并提交表单。< / p>
<form action="../path_to_process_file.php" method="post">
我的问题:
**更新: 这是我的JS用于通过Ajax提交。
$( 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();
?**
答案 0 :(得分:4)
好吧,你的JS需要附加到提交事件。在那种情况下,你可以阻止它做自然会做的事情,比如:
$('#form_id').submit(function(event) {
event.preventDefault();
// use jQuery's ajax() method here to do what you want
});
答案 1 :(得分:2)
首先执行JavaScript,然后使用它可以压制发送表单的正常(HTML方式)。
根据您使用的框架,有很多方法可以执行此操作,但使用简单的纯JavaScript,您可以按照以下步骤操作: