Javascript 在fieldset字段中显示和清除错误消息时维护用户输入
当我想向用户传达有关其输入的错误消息时,我想通知他们错误,但保留所有已填写/选择的字段值。尽管使用js警报框可以实现这一点,但在警报被确认且警报框非常丑陋之前,php页面在警报框下方不可见 相反,我更倾向于使用以下内容:Javascript 在fieldset字段中显示和清除错误消息时维护用户输入,javascript,php,Javascript,Php,当我想向用户传达有关其输入的错误消息时,我想通知他们错误,但保留所有已填写/选择的字段值。尽管使用js警报框可以实现这一点,但在警报被确认且警报框非常丑陋之前,php页面在警报框下方不可见 相反,我更倾向于使用以下内容: echo "<fieldset id='fieldsetErr'> <legend id='legendErr'>Error:</legend> <p id='pErr'>"
echo "<fieldset id='fieldsetErr'>
<legend id='legendErr'>Error:</legend>
<p id='pErr'>" . $errMsg . "
<br><br>
<span style='padding-left:200px'>
<a href='searchCriteria.php'>
<button>Clear</button>
</a>
</span>
</p>
</fieldset>";
#fieldsetErr {
width: 500px;
background:
url(images/logo.jpg)
top center / 300px 300px
no-repeat
fixed
padding-box
content-box
red;
color: white;
}
#legendErr {
font-size: 20px;
color: white;
text-shadow: 1px 1px 2px black, 0 0 25px red, 0 0 5px red;
}
#pErr {
margin-left: 20px;
}
此字段集错误消息与页面布局的其余部分很好地集成。不幸的是,当单击“清除”按钮时,当然会加载searchCriteria.php的新实例,并且用户以前的所有输入都会丢失
如果我只是删除清除按钮和清除错误消息的选项,那么用户的输入值仍然会保持不变,同时他们可以进行必要的更正并重新提交。但是,是否可以让用户在读取字段集错误消息后清除该消息,而不清除他们输入到该点的所有值,如果可以,该怎么做
更新:
我想也许我可以通过在div标记中包装fieldset错误消息来实现我的目的:
echo '<div id="divErr">
<fieldset id="fieldsetErr">
<legend id="legendErr">Error:</legend>
<p id="pErr">' . $errMsg . '
<br><br>
<span style="padding-left:200px">
<button onclick=<script type="text/javascript">','removeDivErr();','</script>>Clear</button>
</span>
</p>
</fieldset>
</div>';
echo'
错误:
”$嗯
清楚的
';
单击Clear按钮时,使用js函数删除fieldset元素:
<script type="text/javascript">
function removeDivErr() {
var elem = document.getElementById('divErr');
elem.parentNode.removeChild(elem);
}
</script>
函数RemoveDriver(){
var elem=document.getElementById('diver');
elem.parentNode.removeChild(elem);
}
虽然它不能像粘贴的那样工作,但我不确定这是否是因为我试图调用/集成javascript到php echo语句中的方式。我试着以不同的方式引用php echo语句和javascript函数调用,看看是否可以让它工作,但到目前为止,nadda。有人能证实吗?我认为您需要采用ajax方法,而不仅仅是php。