49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
|
<?php
|
||
|
require_once('../phpQuery/phpQuery.php');
|
||
|
// phpQuery::$debug = true;
|
||
|
$form = <<<EOF
|
||
|
<form>
|
||
|
<input name='input-example'>
|
||
|
<input name='array[array-example]'>
|
||
|
<textarea name='textarea-example'></textarea>
|
||
|
<select name='select-example'>
|
||
|
<option value='first'></option>
|
||
|
</select>
|
||
|
<input type='radio' name='radio-example' value='foo'>
|
||
|
<input type='checkbox' name='checkbox-example' value='foo'>
|
||
|
</form>
|
||
|
EOF;
|
||
|
$doc = phpQuery::newDocumentHTML($form);
|
||
|
$inputs = $doc['form > *'];
|
||
|
// creates array from input names
|
||
|
// $results = $inputs->get(null,
|
||
|
// create_function('$node', 'return $node->getAttribute("name");')
|
||
|
// );
|
||
|
$results = array();
|
||
|
foreach($inputs as $node) {
|
||
|
$node = pq($node);
|
||
|
$name = $node->attr('name');
|
||
|
$results[$name] = false;
|
||
|
$node->change(
|
||
|
new CallbackReference($results[$name])
|
||
|
);
|
||
|
}
|
||
|
$inputs
|
||
|
->not('select,:checkbox,:radio')
|
||
|
->val('new value')
|
||
|
->end()
|
||
|
->filter('select')
|
||
|
->val('first')
|
||
|
->end()
|
||
|
->filter(':checkbox')
|
||
|
->val(array('foo'))
|
||
|
->end()
|
||
|
->filter(':radio')
|
||
|
->val(array('foo'))
|
||
|
->end()
|
||
|
;
|
||
|
foreach($results as $name => $result) {
|
||
|
print $result
|
||
|
? "Test for '$name' PASSED :)<br />\n"
|
||
|
: "Test for '$name' <strong>FAILED</strong> !!!<br />\n";
|
||
|
}
|