2015-09-15 2 views
0

Я пытаюсь изучить jQuery ajax, функция работает правильно, поэтому говорит о средствах веб-разработчика браузера, но значения не переносятся в php-файл (url), который у меня есть здесь. мой простой код.Почему мои переменные файла ajax php undefined

Это HTML НФА JQuery Файл

<!Doctype HTML> 
<html> 
<head> 
    <title>Working with PHP and jQuery</title> 
    <link rel="stylesheet" type="text/css" href="css/style.css"> 
    <script src="js/jquery-1.11.3.min.js"></script> 
</head> 
<body> 
    <form id="#myForm"> 
    <p> 
     <label>Enter your name</label> 
     <input type="text" name="Name"> 
    </p> 

    <p> 
     <label>Are you male 
     <input type="checkbox" name="IsMale"> 
     </label> 
    </p> 

    <p> 
     <label>Enter your email address</label> 
     <input type="email" name="Email"> 
    </p> 
    <p> 
     <input type="submit" id="submitButton" name="submitButton" value="Submit"> 
    </p> 
    </form> 

    <div id="loadResult"></div> 

    <script> 
    $(function() { 
     $('#submitButton').on('click', function(e){ 
      e.preventDefault(); 
      $.ajax({ 
       url: 'php/form1.php', 
       type: 'POST',    
       data: $('#myForm').serialize(), 
       success: function(result) { 
        console.log(result); $('#loadResult').html(result); 
       }, 
       error: function(badresult){ alert("ajax error function hit"); console.log(badresult); }    
      });   
     }); 
    }); 
    </script> 
</body> 
</html> 

А вот файл PHP

Я использую функцию JQuery сериализации, но не знаю, где я неправильно

+0

Какой результат вы получаете? – samrap

+0

Вы видите что-нибудь в консоли или в '# loadResult'? –

+0

Что вы видите в консоли разработчиков? –

ответ

0

Скорее всего, что вы получаете, эта линия раздувается

$isMale = $_POST['IsMale']; 

И в вашем HTML мы видим

<input type="checkbox" name="IsMale"> 

Флажки, когда они не проверяются, не увенчались успехом, то есть они не будут отображаться в $_POST. От jQuery serialize manual

Примечание: В строку помещаются только «удачные элементы управления». Значение кнопки отправки не сериализуется, так как форма не была отправлена ​​с помощью кнопки.
надрез
значения из флажков и переключателей (входы типа «радио» или «галочка») включается только тогда, когда они проверяются

Таким образом, вы должны убедиться, что он был представлен

$isMale = (isset($_POST['IsMale'])) ? 'Yes' : 'No'; 
+0

Спасибо, но это дает мне те же ошибки для моего другие два входа, хотя они не являются флажками – ShatterStar