0

我是php的初学者。我试图做一个使用 ajax 和 php 的项目。我有一个 id 为“forms2”的 div,其中包含一个带有“create”类的表单,当我按下同一个 div 中的“下一步”按钮后,将显示表单数据,但每次它都会给我一个错误,告诉我我没有输入数据。

这是我的代码:

 <div class="form" id="forms2">
   <form class="create" action = "" method = "post"><p> Options numbers:</p>
     <input type="text" name = "choice"/><br/>
     <input type="submit" id="next1" name="next" value="Next" onmousedown="javascript:swapContent('forms2');"/>
   </form>
 </div>

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

 <script type="text/javascript">
   <!--
   function swapContent(cv) {
     var url = "ajax.php";
     $.post(url, {contentVar: cv} ,function(data) {
       $("#forms2").html(data).show();
     });
   }
   //-->
 </script>

这是 ajax.php:

$contentVar = $_POST['contentVar'];
if ($contentVar == "forms2") {
 if(isset($_POST['choice'])){
    echo '$number = $_POST['choice']';

 }else{
    echo 'Set a number';
 }
}

有人能帮我吗!

4

1 回答 1

1

您在单引号字符串中使用单引号时出现语法错误:

echo '$number = $_POST['choice']';

改成:

echo htmlspecialchars($_POST['choice']);

你也没有choicepost var,你只有contentVar. 要获得选择 var,您可以执行以下操作:

 $.post(url, {contentVar: cv, choice : $('#' + cv + ' input[name=choice]').val()} ,function(data) {
于 2012-12-25T18:45:47.510 回答