如图两个按钮这两个按钮要给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,然后传给后台
放个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>
function sure(state) {
$("#formId").attr("state", state);
}
用input hidden按钮存要传的参数:
先建一个hidden按钮用来存要传的参数,在sure()方法里判断传入参数是1还是2,如果是1改变'已启用'按钮为选择后的样式,并且让'已禁用'的样式改为普通未选样式,把hidden值改为要传的值;传参为2则相反。
写一个隐藏的input存储state的值,因为初始化state要有值。所以只给出click事件是做不到的。click的事件修改隐藏input的值就可以了
你那个sure的参数有问题吧,应该是
function sure(state) {
$("#state").val(state);
}
是这样的,查询条件有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();
}
问题已解决,具体需求是我的回答补充,解决办法参照3楼4楼,一楼的方法如果只有一个查询条件也可以
再次感谢所有回答的朋友们
这简单
可以 点击 button1 给隐藏域 js对象 传一个值
点击 button2 给隐藏域 js对象 传另一个值
后来 你进行表单提交 不就完了