我第一次和Ajax一起出去玩。我试图捕获单个复选框的值,如果选中,则将PHP $ _SESSION变量设置为true。
HTML中的我有这个。
<input type="checkbox" name="agree" id="agree"/>
and the js is this....not sure what to put in the AJAX data params??
$(document).ready(function() {
$('#agree').click(function(){
$.ajax({
url: 'agree.php',
type: 'GET',
data: { agreement:"checked" } //NOT Sure ABout this??
});
})
});
和PHP,伪代码可能是因为它不起作用..
if($_GET['agreement'] == 'checked') {
$_SESSION['hm-agreement'] = true;
} else {
$_SESSION['hm-agreement'] = false;
}
答案 0 :(得分:0)
AJAX呼叫似乎很好。可能是您应该在PHP脚本中添加一些调试,并查看Firebug或其他开发工具。
不要忘记在脚本的开头的PHP脚本上使用start_session()
。
如果省略此调用,则会话对象不存在。
答案 1 :(得分:0)
您需要检查盒装是否已选中,您的代码现在将会话变量设置为true,无论您发送到php文件的是什么。
还使用了简写get ajax,少了代码
HTML
<input type="checkbox" name="agree" id="agree"/>
JS
$(document).ready(function() {
$('#agree').click(function(){
$.get('agree.php','agreement=' + ( this.checked ? 1 : 0 ) });
})
});
PHP
session_start();
if($_GET['agreement']) {
$_SESSION['hm-agreement'] = true;
} else {
$_SESSION['hm-agreement'] = false;
}