2014-08-30 2 views
0

Я не уверен, что случилось с моим кодом, но мой AJAX не работает. Я включил файл библиотеки jQuery, но программа просто не загрузит файл PHP при вызове AJAX. Как вы увидите ниже, вызов .ajax имеет URL-адрес «mail.php», но при отправке этот файл никогда не загружается. Я могу вручную назвать тег действия для формы «mail.php», но это просто загружает «mail.php», который побеждает точку AJAX. Что я делаю не так?AJAX не применяется к форме

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

<form method="post" name="myForm" action="tac.php"> 
    <label>Name:</label> <br /> 
    <input name="sender"> 
    <br /> <br /> 

    <label>Email address:</label><br /> 
    <input name="senderEmail"> 
    <br /> 
    <label>Message:</label> <br /> 
    <textarea rows="5" cols="20" name="message"></textarea> 
    <br /> <br /> 

    <input type="submit" name="submit"> 
</form> 
<script> 

    $(document).ready(function() { 

     $("#myForm").submit(function() { 

    var roy = new Object(); 
    roy.sender = $('#sender').val(); 
    roy.senderEmail = $('#senderEmail').val(); 
    roy.message = $('#message').val(); 

    var jo = JSON.stringify(roy); 

    $.ajax({ 

      type: "POST", 
      url: "mail.php", 
      data: {roy: jo}, 
      success: function(msg){ 
      alert(msg); 
      } 

     }); 
    return false; 
    }); 
     }); 
</script> 
+0

'действие = "tac.php" и' URL: "mail.php" ' - конфликт? –

+0

откройте консоль с помощью клавиши F12 и посмотрите, какую ошибку вы получаете, если таковые имеются. –

+0

@ Fred-ii-. Предполагается, что .ajax переопределяет URL-адрес формы, и даже если я изменю «tac.php» на «tac.php», mail.php ", он по-прежнему не обрабатывает форму за кулисами, как предполагается AJAX. –

ответ

1

Изменить

<form method="post" name="myForm" action="tac.php"> 

Для

<form method="post" id="myForm" action="tac.php"> 

Этот код

$("#myForm") 

ищет элемент с идентификатором = "Myform" не называют = "Myform"

Cheers

0

Это не работает, потому что вы пытаетесь вызвать событие id, которого нет.

$("#myForm").submit(function() { идентификатор «MyForms» не существует в < форме> тег

положить ид = «Myform» в < форме>, и он будет работать нормально.

Как это: <form method="post" id="myForm" action="tac.php">, а также удалить имя = "Myform", потому что он не имеет никакого использования на форме тегов ...

Смежные вопросы