![](/img/trans.png)
[英]Recharts chart not updating when using setInterval to periodically append new data
[英]Using setInterval to post data periodically to DB
我想使用setInterval函數每隔幾秒將數據從我的網站發布到我的數據庫。 我沒有收到任何錯誤消息,頁面只刷新刪除任何輸入的數據,但沒有數據發布到數據庫
<body>
<div class="container">
<div class="row">
<form onclick="startPost()" method='POST' enctype='multipart/form-data'>
<textarea name="field1" id="field1"></textarea>
<input type="submit" id="post">
</form>
</div>
function startPost(){
setInterval(function(){
$("field1").load("post.php");
}, 4000)
}
});
post.php中
<?php
include "connection.php";
$post1 = $connection->real_escape_string($_POST['field1']);
$insert = "INSERT INTO DBtable (WebText) VALUES ($post1)";
$resultinsert = $connection->query($insert);
if(!$resultinsert){
echo $connection->error;
}else{
echo "<p> Text is posting </p>";
}
?>
我希望每四秒鍾將數據發布到數據庫,但頁面只是在點擊提交時刷新。 connection.php連接到數據庫
HTML表單提交具有在提交結束時刷新的默認行為。
<form onclick="startPost(event)" method='POST' enctype='multipart/form-data'>
將事件傳遞給您的功能,如上所述
function startPost(event){
event.preventDefault();
setInterval(function(){
$("field1").load("post.php");
}, 4000)
}
});
添加preventDefault以停止此默認行為。 不同的瀏覽器有時會做出不同的反應,有時也需要執行event.stopPropagation()
這可以防止事件觸發onclicks到其父元素。 在您的確切情況下不需要。
編輯:
為了在提交時停止重新加載,您需要按如下方式捕獲事件onsubmit:
<form onsubmit="preventReload(event)" method='POST' enctype='multipart/form-data'>
function preventReload(event) { event.preventDefault(); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.