У меня есть 1 главная страница с формой и другая страница для обработки значения формы здесь являются исходными кодами двух страниц
Страница формы:
<meta charset="UTF-8"> <title>Form Page</title> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form action="process.php" method="post" id="reg-form"> Username: <input type="text" id="username" name="username"> <br> Password: <input type="password" id="password" name="password"> <br> <button type="submit" id="submit-btn">Traditional Submit</button> <button type="button" id="post-btn">$.Post Submit</button> </form> <script> $("#post-btn").click(function(){ $.post("process.php",function(data){ alert(data); }); }); </script>
Страница процесса:
<?php $username=$_POST["username"]; $password=$_POST["password"]; echo "Username: ".$username; echo "<br>"; echo "Password: ".$password;?>
если я нажимаю кнопку «Традиционная подача», он работает отлично.
но когда я нажимаю кнопку «$ .Post Submit», я просто получаю сообщение об ошибке msg «Notice: Undefined Index …»
Я не могу понять, где проблема, пожалуйста, пожалуйста, помогите проверить и исправить, спасибо заранее!
Вы также должны выбрать и отправить данные формы:
$("#post-btn").click(function(){ $.post("process.php", $("#reg-form").serialize(), function(data) { alert(data); }); });
Взгляните на документацию по методу serialize
jQuery, которая кодирует данные из полей формы в строку данных, которая должна быть отправлена на сервер.
Получите значение ваших текстовых полей с помощью val()
и сохраните их в переменной. Передайте эти значения через $.post
. При использовании $.Post Submit button
вы можете удалить форму.
<script> username = $("#username").val(); password = $("#password").val(); $("#post-btn").click(function(){ $.post("process.php", { username:username, password:password } ,function(data){ alert(data); }); }); </script>
У Yor $.post
нет данных. Вам необходимо передать данные формы. Вы можете использовать serialize()
для публикации данных формы. Попробуй это
$("#post-btn").click(function(){ $.post("process.php", $('#reg-form').serialize() ,function(data){ alert(data); }); });