PHP - 如何加载相同的表单,并在字段类型方面有一些差异?

时间:2011-10-27 17:10:01

标签: php javascript jquery

我有一个表单,其中包含一些文本类型字段和两个字段(namesecond name),默认情况下有一个值,这两个字段的类型为“隐藏”。

现在,我想在“填写另一个人的订单”表单上添加一个链接。如果用户单击此链接,则必须重新加载相同的表单,但略有不同:字段名称和第二名称必须是文本类型,以允许用户输入名称/秒名称。

我可以重新加载表单,但字段namesecond name仍然是隐藏的,因为我不知道在用户点击链接时如何定义更改类型的条件。你能解释我怎么能这样做?

默认填充的字段:

if ($field_label=="Name")
{
    return sprintf("<div class='ginput_container'>$name<input name='input_%d' id='$field_id' type='hidden' value='$name' class='ginput_container' $max_length $tabindex $html5_attributes %s/></div>", $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text);
}
else if ($field_label=="Second name")
{
    return sprintf("<div class='ginput_container'>$secondname<input name='input_%d' id='$field_id' type='hidden' value='$secondname' class='ginput_container' $max_length $tabindex $html5_attributes %s/></div>", $id, $field_id, $html_input_type, esc_attr($value), esc_attr($class), $disabled_text);
}

2 个答案:

答案 0 :(得分:1)

添加另一个输入字段并将其称为“form_submitted”。将this的值设置为1。 一旦提交表单,您就可以在php脚本中检查这一点。如果设置了此值,则使用text,如果不使用hidden

编辑:如果您只想显示一个额外的表单,您可以在页面加载时创建它并使用javascript在用户点击链接时使其可见 如果您希望能够添加多个表单,请使用javascript构建新表单。每次点击链接都可以添加另一个表单。您唯一需要确保的是更新表单元素的名称。

答案 1 :(得分:0)

您无需重新加载表单。您可以使用jQuery删除现有的隐藏字段,并在其中创建一个新文本框,其值与隐藏字段相同。

例如:http://jsfiddle.net/FT2B3/1/