Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单提交后保留输入值(带有catch)_Javascript_Php - Fatal编程技术网

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

Javascript 表单提交后保留输入值(带有catch),javascript,php,Javascript,Php,在PHP中,如果文本输入“cmtx_comment”为空,则在表单提交时会显示javascript警报。在警报中按OK后,用户在表单中所有字段中输入的值都消失了如何保留用户输入的值,而不向输入元素的值添加代码(类似于您是否尝试过本地存储和表单验证 HTML: 加载第一页时,您将看到: 如果未输入注释,则会收到警告: 如果您输入注释,则会收到不同的警报: 然后页面将刷新(或发布,只需取消对返回值true的注释,并对location.reload进行注释),您仍然可以看到第一次发布的内容

在PHP中,如果文本输入“cmtx_comment”为空,则在表单提交时会显示javascript警报。在警报中按OK后,用户在表单中所有字段中输入的值都消失了如何保留用户输入的值,而不向输入元素的值添加代码(类似于
您是否尝试过本地存储和表单验证

HTML:

加载第一页时,您将看到:

如果未输入注释,则会收到警告:

如果您输入注释,则会收到不同的警报:

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


您是否尝试过本地存储和表单验证

HTML:

加载第一页时,您将看到:

如果未输入注释,则会收到警告:

如果您输入注释,则会收到不同的警报:

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


您可以在客户端验证它,而不是立即提交:@juanpstas w3schools不是一个很好的引用。MDN更好您问什么?如果字段为空,则显示警报,确定后字段为空?!这里有问题吗?如果该值为空,为什么要保留该值?这没有意义。您想要吗保留一个空值?或者你指的是那些已填充的其他字段?@Ghost-问题是表单中的所有字段,而不仅仅是cmtx_注释都被清除。即使是用户输入值的字段…你是对的,问错了..你可以在客户端验证它,而不是立即提交:@juanpstas W3s不是一个很好的参考。MDN更好。你在问什么?如果字段为空,你会显示一个警报,确认后字段为空?!这里有问题吗?如果字段为空,你为什么要保留该值?这没有意义。你想保留一个空值?还是指那些已填充的其他字段?@Ghost-th问题是表单中的所有字段,而不仅仅是cmtx_注释都被清除。即使是那些用户输入值的字段…你是对的,问错了..不,表单正在客户端进行验证。发布/刷新页面时,数据仍应保持不变。如果在验证过程后成功保存注释,如果用户再次转到同一页时,您的localStorage值将显示在文本框中。
ok@DaveChen但确实是一个很好的解决方案。@user3002057仅供参考,如果您遵循此解决方案,请在保存注释后清除localStorage。否,表单将在客户端验证。发布/刷新页面时,数据仍应保持不变。如果mment在验证过程后成功保存,如果用户再次转到同一页,您的localStorage值将显示在文本框中。
ok@DaveChen但确实是一个很好的解决方案。@user3002057供参考,如果您遵循此解决方案,在保存注释后,请清除localStorage。
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
<form method="post" action="" onSubmit="return saveComment();">
    <input type="text" name="cmtx_comment" id="cmtx_comment" value="" />
    <input type="submit" value="Save" />
</form>
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;
}