HTML表单操作 - “操作顺序”

时间:2012-03-14 18:15:31

标签: javascript jquery ajax html-form

我的网站上有一个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">

我的问题

  • 在启用JavaScript时提交表单时,“操作顺序”文件应包含哪些内容?
  • 它会首先使用php动作路径吗?或者它会首先尝试通过JavaScript提交吗?

**更新: 这是我的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();?**

2 个答案:

答案 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,您可以按照以下步骤操作:

  • 将“onSubmit”事件附加到表单。
  • 如果您想压制表单的“正常提交”(HTML方式),只需返回false