char3
2017-06-30 06:18
采纳率: 50%
浏览 2.8k
已采纳

js如何控制input标签中两个button给form表单的一个属性传值?

如图两个按钮这两个按钮要给form表单传值,
图片说明
但只能传1(已启用)和0(已禁用),
而且只能传一个
html代码如下

 <li class="col-6"><label class="hzg-label">当前状态:</label>
    <input type="button" value="已启用" class="btn btn-size09 btn-c-g01" onclick="sure(1)"/>
    <input type="button" value="已禁用" class="btn btn-size09 btn-c-g01" onclick="sure(2)"/>
</li>

因为要根据这个条件搜索,所以要把0或1传给form的state,然后传给后台

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • 已采纳

    放个hidden控件存储点的按钮值,要不你的按钮有name 2个值都会回传服务器,然后你服务器或者hidden的值

    而且你的禁用值到底是0还是2?你html里面sure传递2,你自己描述是0,搞清楚来。。

     <li class="col-6">
        <label class="hzg-label">当前状态:</label>
        <input type="hidden" name="state" value="" id="state" />
        <input type="button" value="已启用" class="btn btn-size09 btn-c-g01" onclick="sure(1)" />
        <input type="button" value="已禁用" class="btn btn-size09 btn-c-g01" onclick="sure(2)" />
    </li>
    <script>
        function sure(v) {
            document.getElementById('state').value = v==2?0:v;////自己注意禁用的值到底是什么
        }
    </script>
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 是榴莲啊 2017-06-30 06:28
     function sure(state) {
        $("#formId").attr("state", state);
    }
    
    评论
    解决 无用
    打赏 举报
  • CN-cheng 2017-06-30 06:48

    用input hidden按钮存要传的参数:
    先建一个hidden按钮用来存要传的参数,在sure()方法里判断传入参数是1还是2,如果是1改变'已启用'按钮为选择后的样式,并且让'已禁用'的样式改为普通未选样式,把hidden值改为要传的值;传参为2则相反。

    评论
    解决 无用
    打赏 举报
  • smallerCoder 2017-06-30 06:49

    写一个隐藏的input存储state的值,因为初始化state要有值。所以只给出click事件是做不到的。click的事件修改隐藏input的值就可以了

    你那个sure的参数有问题吧,应该是


    function sure(state) {
    $("#state").val(state);
    }

    评论
    解决 无用
    打赏 举报
  • char3 2017-06-30 07:03

    是这样的,查询条件有3个,不知道用户输入几个的条件下查询,所以并不能单独提交,还要改点击后的样式,所以比较麻烦

        //查询
        //控制两个状态按钮改变样式
        function sure(key) {
            var bt1 = document.getElementById('onState');
            var bt2 = document.getElementById('offState');
            if(key==1){
                bt2.setAttribute("class", "btn btn-size09 btn-c-g01");
                bt1.setAttribute("class", "btn btn-size09 btn-c-b06");
    
            }else if(key==0){
                bt1.setAttribute("class", "btn btn-size09 btn-c-g01");
                bt2.setAttribute("class", "btn btn-size09 btn-c-b06");
    
            }
        }
        function searchForm(){
            $("#pageIndex").val("1");
            //名称
            $("#productName").val(Trim($("#productName").val()));
            //单位
            $("#unit").val(Trim($("#unit").val()));
            //状态
    
            var url = "/Consumer/product/productTypes/init";
            $("#proForm").attr("method","post");
            $("#proForm").attr("action", url);
            $("#proForm").submit();
        }
    

    图片说明

    评论
    解决 无用
    打赏 举报
  • char3 2017-06-30 07:19

    问题已解决,具体需求是我的回答补充,解决办法参照3楼4楼,一楼的方法如果只有一个查询条件也可以
    再次感谢所有回答的朋友们

    评论
    解决 无用
    打赏 举报
  • 黄河默默 2017-06-30 07:26

    这简单
    可以 点击 button1 给隐藏域 js对象 传一个值
    点击 button2 给隐藏域 js对象 传另一个值
    后来 你进行表单提交 不就完了

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题