在 PHP 中,如果文本输入“cmtx_comment”为空,在表单提交时我会显示一个 javascript 警报。在警报中按确定后,用户在表单所有字段中输入的值都消失了。 如何在不向输入元素的值添加代码的情况下保留用户输入的值(类似于 <input type="text" name="something" value="<?php echo $_GET['something'];?>">
?
if (empty($cmtx_comment)) { //if comment value is empty
echo <<<EOD
<script>
alert('Please enter a comment!');
</script>
EOD;
return false;
} else { //if comment entered
do stuff
最佳答案
您是否尝试过 localStorage 和表单验证?
HTML:
<form method="post" action="" onSubmit="return saveComment();">
<input type="text" name="cmtx_comment" id="cmtx_comment" value="" />
<input type="submit" value="Save" />
</form>
JavaScript:
document.getElementById("cmtx_comment").value = localStorage.getItem("comment");
function saveComment() {
var comment = document.getElementById("cmtx_comment").value;
if (comment == "") {
alert("Please enter a comment in first!");
return false;
}
localStorage.setItem("comment", comment);
alert("Your comment has been saved!");
location.reload();
return false;
//return true;
}
在第一个页面加载时,您会看到:
如果您不输入评论,您会收到警报:
如果您确实输入了评论,您会收到不同的提醒:
然后页面会刷新(或者post,直接取消return true的注释,location.reload的注释),你还是会看到第一次post的内容。
关于javascript - 表单提交后保留输入值(有一个问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26008538/