2009-11-20 181 views
0

如何提取輸入標籤的值屬性?使用簡單的HTML DOM 讓我給你舉個例子:簡單的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

您使用訪問DOM什麼語言? JavaScript的? – 2009-11-20 16:37:38

+0

你在說這個PHP庫嗎? http://simplehtmldom.sourceforge.net/ – Quentin 2009-11-20 16:48:20

+0

大衛:似乎是的,是的。 tagged – bobince 2009-11-20 16:59:23

回答

4

您希望將標識(以便您可以訪問javascript中的值)以及您想從中獲取值的標籤中的名稱(如果您想訪問服務器上的值)。

例如

<input type="hidden" name="test" id="test" value="sayantest" /> 

那麼你的JavaScript是那樣簡單:

<script type="text/javascript"> 
    var val = document.getElementById('test').value; 
    alert(val); 
</script> 
+0

+1你也可以考慮使用jQuery庫並使用它來訪問你的元素。如果你使用jQuery,你的代碼可能看起來像這樣$('#test')。val(); – 2009-11-20 16:44:14

+0

查看更多基礎知識: http://www.w3schools.com/jsref/met_doc_getelementbyid.asp – 2009-11-20 16:44:16

0

最簡單的方法,前面已經提到,就是給你隱藏輸入的id屬性,然後用getElementById然後.value.getAttribute('value')選擇它。

另外,如果你想在頁面上的所有隱藏的輸入值,或不能注入你的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

使用簡單的HTML DOM

你的意思是這個名字的PHP庫嗎?

如果是這樣,您必須選擇一種方法來識別輸入。如果你不能改變的標記到你想要隱藏的輸入添加idname,你必須拿出像「得與類型隱藏在表單中的第一個輸入」:

$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; 
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(); 
?>