我正在尝试使用选择器创建动态按钮,我将在按钮下拉列表中选择的内容将提交到下一页。但它不起作用我无法检索按钮中选择的任何内容。在表单中提交此类数据的正确方法是什么?
我在使用$ _POST [“packageType”]获取表单时将表单提交到php页面,找到here以下方法:
onclick="myForm.myVariable.value='foo';myForm.submit();"
它是合法的还是有更好的方法来进行这种动态的价值提交?
<form action="target.php" method="post" id="1111">
<input id="packageType" type="hidden" name="packageType" value="N/A"/>
<div class="btn-group">
<button type="button" class="btn btn-success btn-xs">Add Plan</button>
<button type="button" class="btn btn-success dropdown-toggle btn-xs" data-toggle="dropdown" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu package-selector" role="menu">
<li><a href="#" onclick="1111.packageType.value='basic';1111.submit();">Type 1</a></li>
<li><a href="#" onclick="1111.packageType.value='premium';1111.submit();">Type 2</a></li>
</ul>
</div>
答案 0 :(得分:1)
正如我快速看到的那样,您的解决方案可以正常工作(只要您的引导代码设置正确)。您如何引用表单只是一个问题&#34; 1111&#34;。
尝试重写你的ul / li标签
<ul class="dropdown-menu package-selector" role="menu">
<li><a href="#" onclick="document.getElementById('1111').packageType.value='basic';document.getElementById('1111').submit();">Type 1</a></li>
<li><a href="#" onclick="document.getElementById('1111').packageType.value='premium';document.getElementById('1111').submit();">Type 2</a></li>
</ul>
document.getElementById('1111')
搜索表单并引用它。 JavaScript不直接理解1111
。
还有其他一些方法可以参考表格。例如document.forms[0]
但是,由于表单中有id
属性,这是最简单的方法。
作为旁注:我建议不要使用以数字开头的ID(例如,将1111
替换为myform1111
或类似)。