我有一个表单,只要有人单击单选按钮,我就想插入这个表单的值。没有比我根本不擅长jQuery更好的借口了。这就是我目前所掌握的。
HTML:
<form>
<input type="radio" checked="true" id="q1r1" name="q1" value="Awesome">
<label class="button1" for="q1r1">Awesome</label>
<input type="radio" id="q1r2" name="q1" value="Ok">
<label class="button2" for="q1r2">Ok</label>
<input type="radio" id="q1r3" name="q1" value="Awful">
<label class="button3" for="q1r3">Awful</label>
</form>
get.JSON:
$('#q1r1').on('click',function(){
var get_var_name = $(this).val();
$.getJSON('json/question1.php?team=<?php echo $teamid ?>',{q1:get_var_name},function(data,status){
console.log(data);
if(status == 'success'){
console.log(data);
} else {
alert('Status: ' + status);
}
});
});
json/question1.php:
<?php
require('db_connect.php');
session_start();
$uid = $_SESSION['uid'];
if($_GET['q1']) {
$teamid = $_GET['team'];
$insertq1 = $_GET['q1'];
$sql = "UPDATE result
SET q1='$insertq1'
WHERE userid='$uid' AND teamid='$teamid' ";
$result = $mysqli->query($sql);
}
?>
正如你可能看到的,我真的一点都不擅长,但这就是我计划的:
- 登录的用户选择一个选项,"真棒"、"确定"或"真棒"
- 在没有刷新页面或单击提交按钮的情况下,获取。JSON将使用值teamid(保存在$teamid中)和q1(用户选择的值)自动推动question1.php
- php文件无声地用值更新用户数据库,每个人都很高兴
问题是,到目前为止,当我点击"真棒"时,什么都不会发生,我不知道为什么。我一直在尝试遵循多个指南,但我不确定如何解决这个问题。我们非常感谢任何建议或帮助。
尊敬的部长
附言!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
包括在内。
只需在输入中添加onchange()
(在本例中为单选类型)即可调用一个javascript函数,该函数从url获取数据,而无需刷新页面,我已经修改了您的代码,并用自己的php进行了测试。
你的html必须像
<form>
<input type="radio" checked="true" id="q1r1" name="q1" value="Awesome" onchange="GrabData(this)">
<label class="button1" for="q1r1">Awesome</label>
<input type="radio" id="q1r2" name="q1" value="Ok" onchange="GrabData(this)">
<label class="button2" for="q1r2">Ok</label>
<input type="radio" id="q1r3" name="q1" value="Awful" onchange="GrabData(this)">
<label class="button3" for="q1r3">Awful</label>
</form>
然后,您可以通过添加在html中编写此javascript代码
<script>.......</script>
或者把它放在另一个文件.js中(别忘了从你的html页面调用它)
JS代码-->
function GrabData(Passeddata){
var radioValue = Passeddata.value;
var URL = "json/question1.php?q1=" + radioValue + "&teamid="<?php echo $teamid; ?>;
$.ajax( {
url : URL,
type : "GET",
dataType: 'json',
success : function(data) {
if (data == "") {
alert("data is empty");
}else{
console.log('got your data back sir');
}
}
});
}
请告诉我它是否有效,或者是否存在其他问题