HTML Form Action - «Порядок работы» - PullRequest
2 голосов
/ 14 марта 2012

У меня есть HTML-форма на моем сайте, которая через Ajax отправляет файл php после того, как он был проверен с помощью jQuery.Вот открывающий тег формы:

<form action="#" method="post">

Я собирался поместить path_to_process_file.php в форму action (как показано ниже), чтобы, если у них отключен JavaScript в их браузере, они все равно будутвозможность заполнить и отправить форму.

<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 ]

4 голосов
/ 14 марта 2012

Что ж, ваш JS должен будет присоединиться к событию отправки.В этом случае вы можете помешать ему делать то, что он естественным образом делает, например:

$('#form_id').submit(function(event) {
    event.preventDefault();
    // use jQuery's ajax() method here to do what you want
});
2 голосов
/ 14 марта 2012

JavaScript сначала выполняется, и с его помощью у вас есть возможность подавить обычную (HTML-способ) отправку формы.

Есть много способов сделать это в зависимости от используемой вами платформы, но с простым простым JavaScript вы можете выполнить следующие шаги:

  • Прикрепить событие onSubmit к форме.
  • Если вы хотите подавить «обычное представление» (в формате HTML) формы, просто верните false .
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...