javascript - 如何清除预先填充 $_POST 值的表单元素

标签 javascript php jquery forms post

如果您运行并提交以下表单:

<!DOCTYPE html>
<html>
<body>
<form action="" method="POST">
  First name:<br>
  <input type="text" name="firstname" value="<?php if(isset($_POST['firstname'])){echo $_POST['firstname'];} ?>"
  <br>
  <input type="submit" value="Submit">
  <input type="button" onclick="this.form.reset()" value="Clear Form">
</form> 
</body>
</html>

当表单预先填充了之前提交的值时,为什么 this.form.reset() 不起作用?清除表单按钮仅在提交数据之前起作用。我也使用 jQuery 尝试过许多类似的方法,这些方法也只在提交表单之前有效,而在提交表单之后则不然。

由于 JavaScript 在服务器端代码之后运行,因此我希望 $_POST['firstname'] 中的值可以替换为 JavaScript(在本例中为空字符串)。

最佳答案

正如 @Taplar 所建议的,重置将设置页面加载时最初设置的值。不要与“重置”表单值与将值设置为“”(空白字符串)相混淆

试试这个:

HTML:

<input type="text" id="fn" name="firstname" value="preloaded value" />
<input type="button" onclick="clear_form();" value="Clear Form">

JAVASCRIPT:

function clear_form() {
    document.getElementById('fn').value = "";
} 

关于javascript - 如何清除预先填充 $_POST 值的表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44074855/

相关文章:

javascript - 在 javascript 中获取错误 :Access is denied on window. open() 函数

php - 使 Wordpress 使用页面而不是类别

jquery - 将json数据获取到li中

javascript - jquery JSON url解析问题

javascript - 使用react-select将值传递给状态

javascript - Backbone.js 模板示例

php - MySQL存储过程导致 `Commands out of sync`

php - 检查数组是否为空

javascript - Jquery获取当前选中的单选按钮的值

javascript - 支持拖放的 Html 文件上传文件