表单提交后保留输入值(带有catch)

时间:2014-09-24 04:26:06

标签: javascript php

在PHP中,如果文本输入&#34; cmtx_comment&#34;是空的,在表单提交我显示一个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

1 个答案:

答案 0 :(得分:5)

您是否尝试过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;
}

Example

在第一页加载时,您会看到:

  

如果您没有输入评论,则会收到提醒:

  

如果您执行输入评论,则会收到其他警告:

  

然后页面将刷新(或发布,只需取消注释返回true,并注释location.reload),您仍然会看到第一次发布的内容。