简介
HTML
页面包含许多使用submit button
.放置的input elements
想象一下,我们不知道元素的名称或id。
问题陈述
需要在不知道其元素名称或ids的情况下,在单击submit button
时检索text box
值的可用n number
。从HTML page
的输入元素提取到PHP
页面时,需要用户输入的值。并进一步希望将代码嵌入到网站页面的header
或footer
中,以便在不知道其名称的情况下检索input fields
的值。
示例
<!DOCTYPE html>
<html>
<body>
<h2>HTML Forms</h2>
<form action="/action_page.php">
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit">
</form>
<p>If you click the "Submit" button, the form-data will be sent to a page called "/action_page.php".</p>
</body>
</html>
这里,在上面的HTML代码中,虽然提到了输入框元素的名称。但是假设开发人员不知道名称,并且他/她必须在不知道其名称的情况下获取每个输入值。
查询
在embedding into header or footer
.之后的任何页面中都需要使用此代码任何解决方案都将不胜感激。
发布于 2017-08-09 00:26:04
在PHP中,您可以使用一个技巧,添加一个前缀作为每个文本框的名称(txt_data1,txt_data2)。
按如下方式使用HTML代码:
<input type="text" name="txt_data1">
<input type="text" name="txt_data2">
在PHP中,使用如下代码:
foreach($_POST as $field=>$value){
if ($strpos($field,"txt_")===0){
//Use $value of text box
}
}
更多细节:$_POST param names
发布于 2017-08-08 23:04:12
这真的是不可能的。
具体地说,单独使用PHP是不可能的。您可以通过客户端脚本的一些帮助来实现这一点,但是对于PHP语言,您所能做的就是计算$_POST
(或者$GET
,如果您的表单使用这种方法)中的值。但这只会计算表单上任何类型的输入、选择或文本区域中的所有值。实际上,没有一种可靠的方法来确定值是由<input type="text">
还是其他类型的控件发送的。
例如,如果提交的表单如下所示:
<form action="" method="post">
<input type="checkbox" name="ex1" value="example" checked="checked">
<input type="hidden" name="ex2" value="example">
<input type="radio" name="ex3" value="example" checked="checked">
<input type="text" name="ex4" value="example">
<select name="ex5">
<option value="example" selected="selected">Example</option>
</select>
<textarea name="ex6">Example</textarea>
<input type="submit" name="ex7" value="example">
</form>
$_POST
将如下所示:
array (size=7)
'ex1' => string 'example' (length=7)
'ex2' => string 'example' (length=7)
'ex3' => string 'example' (length=7)
'ex4' => string 'example' (length=7)
'ex5' => string 'example' (length=7)
'ex6' => string 'Example' (length=7)
'ex7' => string 'example' (length=7)
https://stackoverflow.com/questions/45571666
复制相似问题