0

入力タグの値属性を抽出するにはどうすればよいですか? 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>

他の入力タグではなく、非表示のタイプの入力タグの値だけを抽出したい。

4

4 に答える 4

4

値を取得するタグに、id (javascript で値にアクセスできるようにするため) と名前 (サーバー上の値にアクセスする場合) を入れます。

例えば

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

あなたのJavaScriptは次のように簡単です:

<script type="text/javascript">
  var val = document.getElementById('test').value;
  alert(val);
</script>
于 2009-11-20T16:40:39.770 に答える
3

SIMPLE HTML DOM の使用

その名前の PHP ライブラリのことですか?

その場合、入力を識別する方法を選択する必要があります。idマークアップを変更して、必要な非表示の入力にorを追加できない場合は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;
于 2009-11-20T16:51:18.967 に答える
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();
?>
于 2011-07-01T21:47:23.737 に答える
0

すでに述べたように、最も簡単な方法は、非表示の入力にid属性を与えてから、and を使用getElementByIdしてから.valueor.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'));
    }
}
于 2009-11-20T16:45:42.373 に答える