我的页面中有多个滑块表单:例如one。只有一个它工作正常,但对于多个滑块形式,php post值返回空。
到目前为止,我有:
jQuery的:
$(function() {
$( ".slider" ).slider({
value:0,
min: -1,
max: 1,
step: 0.01,
slide: function( event, ui ) {
$( ".amount" ).val( "$" + ui.value );
}
});
$( ".amount" ).val( "$" + $( ".slider" ).slider( "value" ) );
});
我的HTML:
<div class="demo">
<form action="next.php" method="post">
<p>
<label class="amount">How strong is your relationship with this person?</label>
<input type="hidden" name="first_question" />
</p>
<div class="slider"></div>
<br/>
<p>
<label class="amount">How would you feel asking this friend to loan you $100 or more?</label>
<input type="hidden" name="second_question" />
</p>
<input type="submit" value="Submit" />
</form>
</div>
如何正确传递帖子值?
答案 0 :(得分:4)
您需要为所需的每个滑块添加div
,并为滑块添加一个属性,将它们链接到input
- 这是一个使用HTML作为起点的示例:
<div class="demo">
<form id="myform" action="next.php" method="post">
<p>
<label class="amount">How strong is your relationship with this person?</label>
<input type="hidden" name="first_question"/>
</p>
<div class="slider" id="first"></div>
<br/>
<p>
<label class="amount">How would you feel asking this friend to loan you $100 or more?</label>
<input type="hidden" name="second_question"/>
</p>
<div class="slider" id="second"></div>
<br/>
<input type="submit" value="Submit" />
</form>
</div>
然后使用以下内容初始化滑块:
$(".slider").slider({
step: 1,
min: 0,
max: 10,
value: 5,
slide: function(event, ui) {
$("input[name=" + $(this).attr("id") + "_question]").val(ui.value);
}
});
这里重要的部分是值的设置 - 它从滑块div中抓取id
属性为其添加_question
,然后找到匹配{{1}的input
属性。
注意:您没有在name
上指定默认值,因此如果用户要提交,则不会提交任何内容(正如您在我的示例中所做的那样)
答案 1 :(得分:1)
只需更改
$( ".amount" ).val( "$" + ui.value );
}
});
$( "input[type="hidden"]" ).val( "$" + $( ".slider" ).slider( "value" ) );
到
$( "input['text']" ).val( "$" + ui.value );
}
});
$( "input[type="hidden"]" ).val( "$" + $( ".slider" ).slider( "value" ) );
通过将隐藏字段更改为文本来测试它。