0

我正在创建一个表单文本字段,但想设置一个名为的附加属性,additional以便 html 标记看起来像这样。

<dd id="email-element">
   <input type="text" value="" id="email" name="email" additional="">
</dd>

我可以setAttrib像这样设置属性。

$email = new Zend_Form_Element_Text('email');
$email->setAttrib('additional', '');
$this->addElement($email);

然后我additional通过ajax在客户端设置值。但是当表单提交时,additional显示为空。当我 var_dump 表单时,我可以将其视为此表单字段的属性,但它是空的。此外,当我 var_dump 请求时,它不在它上面(这是可以理解的,因为它是一个属性,而不是字段值本身)。有没有办法读取在客户端更改的属性?

4

1 回答 1

0

PHP 无法读取在浏览器中修改的表单属性,但您可以在客户端读取它并将其发送回 PHP。提交的唯一数据是元素值本身。

如果您需要 PHP 中的属性,添加一个名为additional(或任何您喜欢的)的隐藏输入,并且在表单的onsubmit事件期间,您可以读取属性的值,并填充隐藏元素,然后提交表单。请注意,如果客户端禁用了 Javascript,则该值将不会通过,但可以使用该方法读取它并将其发送到服务器。

希望有帮助。

于 2012-06-13T03:13:55.127 回答