Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用ajax和event.preventDefault()问题提交表单_Php_Jquery_Ajax_Events_Event Handling - Fatal编程技术网

Php 使用ajax和event.preventDefault()问题提交表单

Php 使用ajax和event.preventDefault()问题提交表单,php,jquery,ajax,events,event-handling,Php,Jquery,Ajax,Events,Event Handling,我有一个jquery/ajax表单,它具有event.preventDefault()。问题是,一旦我按enter键,我的输入字段就不会变为空。通常,当您在输入字段中按enter键时,它将执行表单中的“操作”,输入字段将清空。但现在,当我键入某些内容时,当我按enter键时,我的表单不会重置为空。我知道event.preventDefault()不执行表单中的正常“操作”,但我尝试不刷新页面,只使用ajax,这样它就可以在不刷新页面的情况下加载 --------------------jquer

我有一个jquery/ajax表单,它具有
event.preventDefault()
。问题是,一旦我按enter键,我的输入字段就不会变为空。通常,当您在输入字段中按enter键时,它将执行表单中的“操作”,输入字段将清空。但现在,当我键入某些内容时,当我按enter键时,我的表单不会重置为空。我知道event.preventDefault()不执行表单中的正常“操作”,但我尝试不刷新页面,只使用ajax,这样它就可以在不刷新页面的情况下加载

--------------------jquery-------------------(如下)

---------------ajax\u table\u edit.php-------------(如下)

同时,。我试图呼应成功,但那也行不通。有人能帮我找到这个问题的解决办法吗


谢谢你抽出时间

您必须自己用
jQuery:$(“#field”).val=”

它不会输出你的信息,因为你没有抓住成功的正确变量。。您将其定义为html,它可能会被保留。。。请尝试调用它data,因为这是您在函数内部使用的

...
success: function(data)
           {
               $('.selector').html(data);
           }
...

还有,为什么在php端有
$id
代码?看起来它甚至没有被使用。而且,仅仅因为它的ajax并不意味着您可以安全地避免SQL注入,您就需要清理这个
$\u POST['list']
变量。

附带说明:不需要那个regex。您只需使用:
$id=(int)$\u POST['id']。检查firebug,是否进行了ajax调用?你得到答复了吗?有什么错误吗?谢谢,是的,我忘了拿出来。我知道我需要消毒。我想以后再做这些。但是你有什么建议可以用来消毒吗?谢谢again@andrewliu有很多帖子都是关于防止sql注入的,但对于初学者来说,至少使用mysql\u real\u escape\u字符串,对于其他评论中提到的应该是数字的内容,强制转换为int是好的,并且使用regex来确保数据是您期望的数据也是好的。
if(isset($_POST['list'])){
$list = $_POST['list'];
$id = $_POST['id'];
$id = ereg_replace("[^0-9]", "", $id);

$sql = mysql_query("INSERT INTO table (column) VALUES ('".$list."')");

echo "success";

}
...
success: function(data)
           {
               $('.selector').html(data);
           }
...