2016-12-03 55 views
1

即將做的事情是通過表單和php腳本將數據發送到服務器。然後我想把它恢復並使用Jquery將它放在正確的位置。我不知道爲什麼,但這個解決方案似乎不工作,因爲我只是得到「文本框中沒有文本!」。有人有任何提示嗎?

<html> 
<head> 
    <script type="text/javascript" src="jquery-3.1.1.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#send").click(function(event) {   
       $.post("target.php", { 
        melding: $("#input").val(). 
       }, function(data){ 
        $("#meldinger").after("<div>" + data + "</div>"); 
       }); 
       event.preventDefault(); 
      }); 
     }); 
     document.getElementById('demo').innerHTML = date(); 
    </script> 
    <title>Meldingssystem</title> 
</head> 
<body> 
    <h1>Meldingsutveksling</h1> 
    <form action="target.php" method="post"> 
    <textarea id="input" name="input" cols="40" rows="2"></textarea> 
    <br/><input type="submit" name="submit" value="Send"> 
    </form> 
    <h2>Meldinger</h2> 
    <div id="meldinger"> 
    </div> 
</body> 
</html> 

PHP

<?php 
if (!empty($_POST['input'])) { 
    $melding = $_POST['input']; 
    echo $melding; 
} 
else { 
    echo "No text in the textbox!"; 
} 
?> 

回答

0

首先,請閱讀https://api.jquery.com/jquery.post/

你的PHP腳本預計在input現場數據。但你的jQuery POST不會把任何東西放在input字段中。

,而不是嘗試類似:

$.ajax({ 
    data: { 
     input: $("#input").val() 
    }, 
    datatype: "text", 
    method: "POST", 
    success: function(data, status, xhr) { 
     $("#meldinger").after("<div>" + data + "</div>"); 
    }, 
    error: function(xhr, status, error) { 
     alert("zog zog"); 
    } 
}; 

注意input出現在data參數。

1

if (!empty($_POST['input'])) { 
    $melding = $_POST['input']; 
    echo $melding; 
} 
else { 
    echo "No text in the textbox!"; 
} 

應該

if (!empty($_POST['melding'])) { 
    $melding = $_POST['melding']; 
    echo $melding; 
} 
else { 
    echo "No text in the textbox!"; 
} 

因爲沒有輸入POST參數發送

相關問題