有人可以告诉我如何在页面重新加载时自动提交我保存/重新填充的复选框选项吗?一旦重定向到页面然后再返回,复选框就会正确重新填充,但我不确定如何自动提交结果。
形式
<form id="form" method="post" action="">
<input type="checkbox" name="2kandunder" class="checkbox" id="1" <?=(isset($_POST['2kandunder'])?' checked':'')?>/> $2000 And Under<br>
<input type="checkbox" name="2kto4k" class="checkbox" id="2" <?=(isset($_POST['2kto4k'])?' checked':'')?>/> $2001 To $4000<br>
</script>
<input type="checkbox" name="4kandup" class="checkbox" <?=(isset($_POST['4kandup'])?' checked':'')?>/> $4001 And Up<br></td>
选中框时自动提交的javascript。我尝试将此代码实现到下面的javascript我用来重新填充选中的复选框但无法使其工作。
<script type="text/javascript">
$(function(){
$('.checkbox').on('change',function(){
$('#form').submit();
});
});
javascript我用来在用户点击“收藏夹”按钮后重新填充复选框,然后将其转到php脚本,然后重定向回此页面。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://cdn.jsdelivr.net/jquery.cookie/1.4.0/jquery.cookie.min.js"></script>
<script>
$(":checkbox").on("change", function(){
var checkboxValues = {};
$(":checkbox").each(function(){
checkboxValues[this.id] = this.checked;
});
$.cookie('checkboxValues', checkboxValues, { expires: 7, path: '/' })
});
function repopulateCheckboxes(){
var checkboxValues = $.cookie('checkboxValues');
if(checkboxValues){
Object.keys(checkboxValues).forEach(function(element) {
var checked = checkboxValues[element];
$("#" + element).prop('checked', checked);
});
}
}
$.cookie.json = true;
repopulateCheckboxes();
</script>
PHP
if (isset($_POST["2kandunder"])) {
$arguments[] = "`2kandunder` = 'yes'";
}
if (isset($_POST["2kto4k"])) {
$arguments[] = "`2kto4k` = 'yes'";
}
if (isset($_POST["4kandup"])) {
$arguments[] = "4kandup = 'yes'";
}
if(!empty($arguments)) {
$str = implode(' AND ',$arguments);
$qry = "SELECT favorite_id, id, venue, imageurl FROM venue_ads WHERE `showingads` = 'yes' AND " . $str . "";
$result = $conn->query($qry);
if ($result->num_rows > 0)
复选框正确重新填充,但不提交任何内容。如何重新填充javascript提交重新填充的复选框?
答案 0 :(得分:0)
我可能会误读您的问题,因为您似乎可以通过表单提交跟随您对repopulateCheckboxes()
的调用,如下所示:
repopulateCheckboxes();
document.getElementById('form').submit();
也许你可以抛出一个jsbin的例子?