我有一个网页,其中包含一个简单的任务列表,我将从SQL-db中删除。与此列表一起,我有一个简单的普通输入字段,我可以在SQL中向列表中添加一些新任务。所有带有一些文本字段的标准,以及一个“添加”按钮,它将我发送到“handler.php”,在那里我抓取数据并填充到数据库中。到目前为止一切都很好。
在处理程序中我只是将数据填入数据库,然后执行普通的php“header()”回调列表。我的问题是更新列表。当我将数据输入字段并通过它自己选项卡并按下“ENTER”键完成数据输入时,一切正常。
但是,如果我将数据输入字段并使用鼠标在按钮上“点击”,或者甚至将自己标记到按钮并按Enter,我会返回列表,但最新的数据库条目不是'从数据库中拉出来了吗?
我可以强制浏览器重新加载(Ctrl-F5)并拉出新数据,但我想让它自动发生,就像我在输入字段中点击ENTER一样。
我的简单表格
<form name ="frm_todo" method="get" action="handle_verification.php">
<table><tr>
<td align="right">Date </td>
</tr>
<tr>
<td><input size="20" type="date" name="inp_date"/></td>
</tr></table>
<input type="submit" name="{$submitString}" value="{$submitValue}"/>
</form>
这是处理程序代码的一小部分(我删除了一大块预处理代码。
$qry = "INSERT INTO verification (v_date) ";
$qry .= "VALUES ('$db_date')";
$res = mysql_query( $qry, $g_dbh) or die ("Failed!". mysql_error());
header('Location: http://www.backtolist.com/mylist.php');
exit();
嗯,这是我的循环的缩短版本,用于从数据库获取列表,我已经删除了很多处理内容以保持简短,希望你能得到图片。
$qry = "SELECT * FROM verification ORDER BY v_date ASC $limit";
$result_id = mysql_query($qry, $global_dbh) or die("Error --->".mysql_error());
$tableStr = get_tableHeader();
$tableStr .= '<tbody>';
while($row = mysql_fetch_array($result_id)) {
// some processing/formatting
$tableStr .= '<tr><td>'.$id.'</td><td>'.$date.'</td><td>'.$desc.'</td>';
$tableStr .= '</tr>';
}
$tableStr .= '</tbody></table>';
echo $tableStr;
对于这种行为有什么解释,或者指出我可能做错了什么?
Thnx提前, 谦卑 (用一些代码更新,并做了一些澄清,sry)
答案 0 :(得分:0)
输入字段的默认操作可能会导致网站刷新。 你可以使用
$('#submit').addEventListener("click", function (event) {
event.preventDefault();
handleData();
return false;
}, false);
以防止这种情况发生,然后调用该函数来处理您的数据。