我创建了一个订单表单,并自动填写了一些字段,其中包含已存储在数据库中的当前用户信息。但是,我意识到人们有时会想要在新的地方订购,并且可能会更改仅针对该特定订单的详细信息。目前,一些表单域代码是:
<label>Email :</label>
<input type="text" value="<?php echo $info[email]?>" name="email" id="email">
当我回显这个值时,有没有办法让我清除一个字段的值?
我知道如何通过使用带有按钮的表单上的javascript和reset()函数来正常清除表单,但显然只会清除用户输入的字段的值而不是PHP代码输出的字段的值。任何朝着正确方向的推动都会受到赞赏:)。
答案 0 :(得分:2)
首先:这是正确的,你不能用PHP做到这一点
然后:既不使用纯JavaScript(除非您循环输入并更改其值),JavaScript reset()将&#39;重置&#39; 所有表单值都为< strong>默认值,当您定义(在HTML中)输入标记&#39;值&#39;到一个字符串,你将它定义为默认值。
最后,您可以使用Ajax并使用JavaScript填充输入(或使用Angular)或使用JQuery或编写一个java脚本函数,该函数遍历表单的输入元素并更改其所有值&#39;属性为空字符串:
使用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;
}
}
}
希望它有所帮助,;)
答案 1 :(得分:-1)
我会根据需要使用属性'占位符':
<input type="text"' value="" placeholder="<?php echo $info[email] ?>" name="email" id="email">
这样,只要用户输入其他内容,就会删除“建议”。