我有一个HTML输入字段,我的每个输入字段都指定了一些id,现在我如何使用这个输入字段id来识别字段。
示例:
<input type='text' id='float' name='attributename' value='' maxlength='30'/>
我需要验证float的输入字段的id,然后在特定字段中将输入字段的值插入db。
请帮帮我..
答案 0 :(得分:11)
你做不到。将数据发布到服务器时,将使用name
属性。 id
与PHP无关。
答案 1 :(得分:7)
这取决于您使用哪种方法传输数据(由method
元素的form
属性指定。)
E.g。用:
<form method="POST">
<input type='text' id='float' name='attributename' value='' maxlength='30'/>
<input type="submit" />
</form>
您可以在提交表单时通过$_POST['attributename']
访问PHP中的数据。 $_POST
是一个关联数组,用于保存通过POST请求发送的数据。
注意:输入元素的name
是重要属性,而不是ID。该ID 不传输到服务器,它只在DOM中扮演角色。仅将name
和value
发送到服务器。因此,如果您可能想要设置name="float"
。
更多信息: Variables From External Sources。您还可以阅读$_POST
和$_GET
(GET是另一种方法。这用于通过URL发送数据)。
答案 2 :(得分:4)
当PHP通过GET或POST获取数据时,它不知道与给定数据相关联的输入的id。但是,你知道这个名字。
最简单的方法是使名称和id匹配,或者能够从名称中派生id,如下所示:
name: float
id: float_id
name: address
id: address_id
原因是DOM使用id,但它与PHP的执行无关。 PHP只获取名称。由于您可以控制服务器端和客户端代码,因此您可以通过选择上面建议的命名约定来确定id是什么。
答案 3 :(得分:2)
提交表单时,您将使用输入name=""
属性从以下位置提取值:
$_POST['attributename'];
答案 4 :(得分:2)
首先,id
对每个元素都应该是唯一的。
您可以使用[]
后缀字段名称来创建数组,以便稍后处理它们,如:
<input type='text' id='float1' name='attributename[]' value='' maxlength='30'/>
<input type='text' id='float2' name='attributename[]' value='' maxlength='30'/>
<input type='text' id='float3' name='attributename[]' value='' maxlength='30'/>
现在从PHP开始,您可以使用foreach
来访问每个字段值,如下所示:
foreach($_POST['attributename'] as $value){
echo $value . '<br>';
}
如果它只是一个字段,您只能通过其名称访问它:
echo $_POST['attributename'];
答案 5 :(得分:1)
在PHP中,只有在使用name
或method="get"
,method="post"
和{{1}提交表单后,才能访问输入的$_GET['attributename']
分别。
也许你的意思是使用javascript来定位该字段;你可以使用$_POST['attributename']
。
答案 6 :(得分:0)
是的,deceze说得最好。
基本上,PHP中的所有内容(以及所有Web编程)都需要key = value对。所以,如果你没有钥匙,你又没有价值。如果表单元素只有一个ID而没有NAME,那么传递给PHP的变量将不存在。
测试的最佳方法是使用“GET”而不是“POST”进行HTML表单元素测试,这样,当提交表单时,您将在地址栏中看到key = value对动作的方法。您必须做的就是使用$_GET
代替$_POST
来提取变量。