我已经创建了一个订单表单,并使用数据库中存储的当前用户信息自动填写了一些字段。然而,我意识到人们有时会想要在新的地方订购,并且可能会更改该特定订单的详细信息。目前一些表单字段代码是:
<label>Email :</label>
<input type="text" value="<?php echo $info[email]?>" name="email" id="email">
当我回显某个字段的值时,有没有办法清除该字段的值?
我知道如何通常使用 javascript 和带有按钮的表单上的 Reset() 函数来清除表单,但显然这只会清除用户自己输入的字段值,而不是 PHP 代码输出的字段值。任何朝着正确方向的插入将不胜感激:)。
最佳答案
首先:这是正确的,你不能用 PHP 做到这一点
然后:纯 JavaScript 都不会(除非循环输入并更改其值),JavaScript reset()将“重置”所有表单值为其默认值,并且当您(在 HTML 中)定义输入标记“value”为字符串时,您将其定义为其默认值。
最后,您可以使用 Ajax 并使用 JavaScript(或使用 Angular)填充输入,或者使用 JQuery 或编写一个 Java 脚本函数来迭代表单的输入元素并将其所有“值”属性更改为空字符串:
使用 JQuery: jQuery/Javascript function to clear all the fields of a form或How to reset (clear) form through JavaScript?
使用 JavaScript:
function resetForm(frm_elements){
for (i = 0; i < frm_elements.length; i++)
{
field_type = frm_elements[i].type.toLowerCase();
switch (field_type)
{
case "text":
case "password":
case "textarea":
case "hidden":
frm_elements[i].value = "";
break;
case "radio":
case "checkbox":
if (frm_elements[i].checked)
{
frm_elements[i].checked = false;
}
break;
case "select-one":
case "select-multi":
frm_elements[i].selectedIndex = -1;
break;
default:
break;
}
}
}
希望有帮助,;)
关于javascript - 已使用 PHP 回显代码自动填写的清晰表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29871293/