在形式内<input type =“button”/>的值不提交

时间:2015-03-19 11:16:36

标签: php forms model-view-controller

我搜索过这个主题,但没有人像我一样显示同样的问题。

我有一个具有特定价值的按钮。提交表单时,我希望将值发送到控制器,以便保存在数据库中。发送的所有其他信息都是准确的,但与按钮的值无关,保存的是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>

3 个答案:

答案 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/(选项字段未在示例中隐藏,因此您可以看到它正常工作)