-1

这是我的 HTML 页面

我想用 ajax 发送一些值,然后我想用 ajax 响应来获取它们,但是我在 div 中看不到任何用id=result. 问题出在哪里?

   <html>
    <head>

     <!-- JQuery v1.8.2 -->
    <script src="theme/scripts/jquery-1.8.2.min.js"></script>

</head>
<body>

<div class="row-fluid">
    <div class="span4">

        <input type="text" id="title"/><br>
        <textarea rows="10" cols="50" id="content"></textarea><br>
        <input type="submit" id="gonderBtn" name="gonderBtn" />

        <div id="result"></div>

    </div>
</div>


    <script type="text/javascript">     
    jQuery(document).ready(function(){
        $("#gonderBtn").click(function(){
            var title   = $("title").val();
            var content = $("content").val();


         $.ajax({
             url: "deneme_action.php", 
             dataType: "html",
             type: 'POST',
             data: {
                 title: title,
                 content: content
             },
             success: function(data){ 
               $("result").html(data); 

             }
          });
        });
    });
    </script>


</body>

</html>

deneme_action.php

    <?php

if(isset($_POST["gonderBtn"])){

    $result = "Sonuc:".$_POST["title"];
     echo  "Selam:".$result;
}

else{
    echo "no post";
}


?>
4

5 回答 5

2

因为你没有标签,class="result"但你有标签id="result"
将 jQuery 选择器更改为:

$("#result").html(data); 

或 div 标签:

<div class="result"></div>

和选择器:

$(".result").html(data); 

而且您没有gonderBtn使用 POST 发送 - 也修复它:

$("#gonderBtn").click(function(){
        var title   = $("#title").val();
        var content = $("#content").val();
        var gonderBtn = $(this).val();


     $.ajax({
         url: "deneme_action.php", 
         dataType: "html",
         type: 'POST',
         data: {
             title: title,
             content: content,
             gonderBtn: gonderBtn,
         },

我也修复了输入和文本区域的选择器。

于 2013-07-24T14:17:33.463 回答
1

你没有#result正确选择你的 div,添加一个#before

$("#result").html(data); 

你所有的选择器也是如此

var title   = $("#title").val();
var content = $("#content").val();

由于您对表单进行了 ajax 处理,因此您必须手动传递您的按钮参数,尽管 ajax 参数会更合适。

data: {
   title: title,
   content: content,
   gonderBtn: 'gonderBtn'
},
于 2013-07-24T14:16:18.790 回答
1
var title   = $("title").val();
var content = $("content").val();

应该

var title   = $("#title").val();
var content = $("#content").val();

您还需要更改:

$("result").html(data); 

$("#result").html(data); 

您还应该将输入包装在一个表单中。

编辑:您可能希望为按钮输入一个值。

<input type="submit" id="gonderBtn" name="gonderBtn" value="go!" />

编辑 2:您还需要为您的 html 元素命名。

<input type="text" id="title" name="title"/><br>
<textarea rows="10" cols="50" id="content" name="content"></textarea><br>
于 2013-07-24T14:16:29.383 回答
1

检查这一行:

echo  "Selam:"+$result;

这里的加号运算符是一个错误,因此 php 脚本没有返回任何内容。

检查链接,该链接记录了 php 中 + 运算符的使用。

于 2013-07-24T14:25:19.080 回答
0
 echo  "Selam:"+$result;

在 php 中使用“。” 连接字符串。

 echo  "Selam:".$result;
于 2013-07-24T14:26:55.477 回答