我搜索过这个主题,但没有人像我一样显示同样的问题。
我有一个具有特定价值的按钮。提交表单时,我希望将值发送到控制器,以便保存在数据库中。发送的所有其他信息都是准确的,但与按钮的值无关,保存的是0。
为什么?提前谢谢!
<div class="container">
<?php $row = $query->row(); ?>
<div class="current"> <?php echo $row->text;?> </div>
<form method="post" action="<?php echo base_url();?>questionnaire/process">
<div class="form-group">
<label> Número Pergunta </label>
<input type="text" class="form-control" name="question" value=" <?php echo $row->text;?>">
</div>
<div class="btn-group btn-group-justified" role="group" aria-label="...">
<div class="btn-group" role="group">
<input type="button" name = "choice" value= "1" class="btn btn-default">
</div>
<div class="btn-group" role="group">
<input type="button" name = "choice" value= "2" class="btn btn-default">
</div>
</div>
<input type="submit" value="Próxima" />
</form>
</div>
答案 0 :(得分:1)
请参阅以下链接中的说明
&#34;注意:在表单中,只有在按钮本身用于提交表单时才会提交按钮及其值。&#34;
http://www.w3schools.com/tags/att_button_value.asp
如果您需要专门的按钮,我建议您将输入更改为单选按钮列表并将其设置为按钮
我希望这会有所帮助
答案 1 :(得分:0)
按钮仅用于触发操作,而不是使用表单数据提交。 检查一下:http://www.w3.org/TR/html401/interact/forms.html#h-17.5
<强>解决方案:强> 您可以使用Radio OR Dropdown选择提交您的选择值
单选:强>
<input type="radio" name = "choice" value= "1" class="btn btn-default">
<input type="radio" name = "choice" value= "2" class="btn btn-default">
<强>下拉:强>
<SELECT name = "choice">
<option value="1">1</option>
<option value="2">2</option>
</SELECT>
答案 2 :(得分:0)
正如Fox909a所提到的,只有点击的提交按钮会发送值。
如果javascript是可以添加的例外,您可以将值保存在隐藏字段中:
<div class="btn-group btn-group-justified" role="group" aria-label="...">
<div class="btn-group" role="group">
<input onclick="this.form.choice.value=this.value;" type="button" value= "1" class="btn btn-default">
</div>
<div class="btn-group" role="group">
<input onclick="this.form.choice.value=this.value;" type="button" value= "2" class="btn btn-default">
</div>
</div>
<input type="hidden" name="choice" id="choice"/>
实例:http://jsfiddle.net/mLxs9j27/(选项字段未在示例中隐藏,因此您可以看到它正常工作)