2017-09-23 80 views
0

我希望能够将内容可编辑文本发送到一个php文件,使用ajax进行一些更改。这是它是如何设置:发送和接收div contenteditable

的index.php

<div id="textArea"> 
      <div contenteditable id="textField"></div> 
     </div> 
    </body> 

</html> 

<script> 
    var storyArea = $("#storyArea"); 
    var textField = $("#textField"); 
    var textArea = $("#textArea"); 

    textField.on("keydown", function(e) 
    { 
     if (e.which == 13) 
     { 
      e.preventDefault(); 

      var newVal = textField.text(); 
      var exp = /\W/g; 

      if(!(exp.exec(newVal))) 
      { 
       $.ajax(
       { 
        type: 'post', 
        url: 'story.php', 
        datatype: "html", 
        data: newVal, 
        success: function (data) 
        { 
         alert(data); 
        } 
       }); 
      } 
      else 
      { 
       textArea.css("border", "2px solid #d45454"); 
       textField.empty(); 
       newVal = ''; 
      } 
     } 

    }); 

</script> 

story.php

<?php 
    $input = $_POST['newVal']; 
    echo $input; 
?> 

我遇到的问题是,我的警觉返回“未定义指数:newVal“

在此先感谢。

+0

@JayBlanchard冒号是一个意外的标记。 – Boats

+1

我的不好,你应该用括号括起来:{newVal:newVal}' –

回答

3

您应该使用data: {newVal:newVal}为变量指定发布数据的名称。该函数期望键:值对。