我想用表格提交列表值,正确的方法是什么? 我有一个动态生成的列表,这只是一个静态列表。 那么如何发送单击的特定列表值? 它可以通过为每个列表使用单独的名称来完成,但我不想这样做,因为我的列表是动态生成的,我必须从许多列表项中捕获它的值。下拉列表中存在类似问题的解决方案。链接 - PHP: Request the values of a HTML form drop down list
<form action="" id="form-id" method="get">
<ol name="test">
<a href="#" onclick="document.getElementById('form-id').submit();">
<li>
<input type="hidden" value="testvalue"> //list value 1
Coffee
</li>
</a>
<a href="#" onclick="document.getElementById('form-id').submit();">
<li>
<input type="hidden" value="testvalue1"> //list value 2
Tea
</li>
</a>
</ol>
</form>
<?php
if(isset($_GET['test']))
echo $_GET['test'];
?>
答案 0 :(得分:1)
我并非100%确定我理解您的确切要求,但我认为这可能是您所寻找的?
<form action="" id="form-id" method="get">
<h1>Hidden values</h1>
<ol name="test">
<li><input type="hidden" value="testvalue">Cofee</li>
<li><input type="hidden" value="testvalue1">Tea</li>
</ol>
<input type='hidden' id='test' name='test' />
<?php
if( $_SERVER['REQUEST_METHOD']=='GET' && isset( $_GET['test'] ) ){
echo 'Test: '.$_GET['test'];
}
?>
</form>
<script>
window.onload=function(){
var form=document.getElementById('form-id');
var col=form.querySelectorAll('li');
for( var n in col ) if( col[n] && col[n].nodeType==1 ){
col[n].onclick=function(e){
document.getElementById('test').value=this.querySelectorAll('input[type="hidden"]')[0].value;
form.submit();
};
}
};
</script>