使用PHP echo代码自动填写的清除表单

时间:2015-04-25 22:09:18

标签: javascript html5 forms

我创建了一个订单表单,并自动填写了一些字段,其中包含已存储在数据库中的当前用户信息。但是,我意识到人们有时会想要在新的地方订购,并且可能会更改仅针对该特定订单的详细信息。目前,一些表单域代码是:

<label>Email :</label>
   <input type="text" value="<?php echo $info[email]?>" name="email" id="email">
			

当我回显这个值时,有没有办法让我清除一个字段的值?

我知道如何通过使用带有按钮的表单上的javascript和reset()函数来正常清除表单,但显然只会清除用户输入的字段的值而不是PHP代码输出的字段的值。任何朝着正确方向的推动都会受到赞赏:)。

2 个答案:

答案 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 formHow 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&amp; 2

希望它有所帮助,;)

答案 1 :(得分:-1)

我会根据需要使用属性'占位符':

<input type="text"' value="" placeholder="<?php echo $info[email] ?>" name="email" id="email">

这样,只要用户输入其他内容,就会删除“建议”。