我有一个event.preventDefault()
的jquery / ajax表单。问题是我输入后输入字段不会变空。通常当您在输入字段中按Enter键时,它将在表单中执行“操作”,输入字段将清空。但是现在当我输入内容时,当我按下回车键时,我的表单不会重置为空。我知道event.preventDefault()不会在表单中执行正常的“操作”,但我正在尝试不刷新我的页面,只是使用ajax,因此它将加载而不刷新页面。
-------------------- jquery --------------------(下)
$('[placeholder]').parents('form').submit(function(event) {
$(this).find('[placeholder]').each(function() {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
var input = $('input.sel').val();
dataList = 'list=' + input;
$.ajax({
type: "POST",
url: "ajax_table_edit.php",
data: dataList,
cache: false,
success: function(html)
{
$('.selector').html(data);
}
});
event.preventDefault();
});
--------------- ajax_table_edit.php -----------(下)
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";
}
同时。我试图回应成功,但这也不起作用。有人可以帮我找到解决这个问题的方法吗?
感谢您的时间!
答案 0 :(得分:2)
您必须使用jQuery: $("#field").val='';
并且它没有输出你的消息,因为你没有在成功时获取正确的变量..你将它定义为html,可能会被保留...尝试调用它而不是因为这是你在里面使用的反正的功能。
...
success: function(data)
{
$('.selector').html(data);
}
...
另外,为什么你甚至在php端有$id
代码?看起来它甚至没有被使用。而且,仅仅因为它的ajax并不意味着你不能安全地使用SQL注入,你需要清理那个$_POST['list']
变量。