javascript - 表单提交后保留输入值(有一个问题)

标签 javascript php

在 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;
}

Example

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

如果您不输入评论,您会收到警报:

如果您确实输入了评论,您会收到不同的提醒:

然后页面会刷新(或者post,直接取消return true的注释,location.reload的注释),你还是会看到第一次post的内容。

关于javascript - 表单提交后保留输入值(有一个问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26008538/

相关文章:

javascript - javascript中自执行函数的目的是什么?

javascript - 将 BoxGeometry 转换为球体

php - 使用未定义的常量 SIGKILL - 假定为 'SIGKILL'

php - php文件中的HTML按钮

javascript - 如何在 Leaflet 中为 2 点制作曲线?

javascript - 使用 JQuery 调整 IMG 和 DIV 大小会导致图像调整大小而不改变相对于相邻 DIV 的位置(它们保持固定并产生溢出)

php - 如何制作 jAlert() 像 'Please Wait' 消息。(没有 OK 按钮)

php - 如何对每年的所有月份进行分组?

php - 如何从 php 中的查询字符串传递字符串数据类型值

php - 从下拉菜单中选择选项的操作