如何提取输入标签的value属性?使用 SIMPLE HTML DOM 让我举个例子:
<form action="#" method="post" name="test_form" id="test_form">
Name<input type="text" name="name" value="NaMe"/><br />
Address<input type="text" name="address" value="AdDrEsS"/><br />
<input type="hidden" value="sayantest" />
</form>
我想只提取隐藏类型输入标记的值,而不是其他标记。
答案 0 :(得分:4)
你想把id(你可以访问javascript中的值),以及你希望从中获取值的标签中的名称(如果你想访问服务器上的值)。
e.g。
<input type="hidden" name="test" id="test" value="sayantest" />
然后你的javascript就像:
<script type="text/javascript">
var val = document.getElementById('test').value;
alert(val);
</script>
答案 1 :(得分:3)
使用SIMPLE HTML DOM
你的意思是那个名字的PHP库吗?
如果是这样,您必须选择一种识别输入的方法。如果您无法更改标记以在所需的隐藏输入上添加id
或name
,则必须提出类似“在表单中隐藏类型的第一个输入” “:
$html= new simple_html_dom();
$html->load('<html><body<form action="#" method="post" name="test_form" id="test_form">Name<input type="text" name="name" value="NaMe"/><br />Address<input type="text" name="address" value="AdDrEsS"/><br /><input type="hidden" value="sayantest" /></form></body></html>');
$input= $html->find('#test_form input[type=hidden]', 0);
$input->value;
答案 2 :(得分:0)
如上所述,最简单的方法是为隐藏的输入提供id
属性,然后使用getElementById
,然后使用.value
或.getAttribute('value')
来选择它。 / p>
或者,如果您想获取页面上所有隐藏输入的值,或者无法注入您的ID,您可以使用以下内容:
var inputs = document.getElementsByTagName('input');
for(var i = 0; i < inputs.length; i++){
if(inputs[i].getAttribute('type') == 'hidden'){
alert(inputs[i].getAttribute('value'));
}
}
答案 3 :(得分:0)
以下是我提出的内容......完全使用您在初始问题中显示的内容。请注意,我所做的只是echo
隐藏了所有输入的值,其中test_form.htm
是您原来的:
<?php
function scraping_form()
{
// create HTML DOM
$html = file_get_html('test_form.htm');
// get input hidden value
$aObj = $html->find('input[type="hidden"]');
foreach ($aObj as $hKey=>$hidden)
{
$valueAttribute = $hidden->value;
echo "*TEST* ".$hKey.": ".$valueAttribute."<br />";
}
// clean up memory
$html->clear();
unset($html);
return;
}
// -----------------------------------------------------------------------------
// test it!
// user_agent header...
ini_set('user_agent', 'My-Application/2.5');
scraping_form();
?>