这是假设使用jQuery获取已检查无线电的ID,并$_POST['points']
echo
和add.php
add.php:
<div class="col-md-10">
<form role="form" method="POST">
<div class="radio">
<label><input type="radio" name="optradio" id="1"> Leadership </label>
<label><input type="radio" name="optradio" id="2"> Management </label>
<label><input type="radio" name="optradio" id="3"> Distribution </label>
</div>
<div>
<?php
if (isset($_POST['points']))
{
echo $_POST['points']." is the value";
}
else
echo 'none';
?>
</div>
</form>
</div>
使用Javascript:
$("input[type=radio]").on("click",function()
{
var value=($('input[type=radio] [name=optradio]:checked').attr('id'));
$.post("./add.php", {points: value}, function(data)
{
alert(data);
});
});
但是,每次单击单选按钮时,它都会显示一个警告弹出窗口,并重新加载整个add.php
代码 INSIDE 警告弹出窗口,而不是通过{{1}回显它在$_POST['points']
中。
警报弹出窗口中的页面回声add.php
和值'none'
正确无误。
*注意:JS文件已经加载
我发现它回声$_POST['points']
,因为尚未检查/点击单选按钮。但是,单击单选按钮后页面不会加载,但页面会在警报窗口中重新加载。
我有什么遗失的东西,或者我应该做的不是警报吗? 要么 是否有另一种获取已检查无线电的ID的方法?
编辑&LT;&LT;&LT;&LT;&LT;&LT; 可能大多数人建议使用.text而不是echo来显示数据。我真正想要做的是保存$ _POST ['points']的值。 该值已保存,但页面将在警报窗口中重新加载。
none
答案 0 :(得分:1)
您需要在脚本中更改两件事:
1)使用$('input[name=optradio]:checked').attr('id')
获取ID
2)在帖子请求中使用'points'代替分数
$("input[type=radio]").on("click",function()
{
var value=($('input[name=optradio]:checked').attr('id'));
$.post("viewport.php", {'points': value}, function(data)
{
alert(data);
});
});
答案 1 :(得分:1)
你不需要ajax:
<div class="col-md-10">
<form role="form" method="POST">
<div class="radio">
<label><input type="radio" name="optradio" id="1"> Leadership </label>
<label><input type="radio" name="optradio" id="2"> Management </label>
<label><input type="radio" name="optradio" id="3"> Distribution </label>
</div>
<div class="result">
none
</div>
</form>
</div>
js:
$("input[type=radio]").on("click",function()
{ var value = 'none';
value = $('input[type=radio] [name=optradio]:checked').attr('id');
$('.result').text(value+'is the value')
});
答案 2 :(得分:1)
由于您使用的$ .post调用相当于$ .ajax(type:post)调用,因此服务器将返回与您在url中键入add.php时相同的响应。
您不必进行ajax调用,只需使用javascript / jQuery编写id。
$("#some-text-container").text(value);
插入此而不是发布电话。
答案 3 :(得分:0)
请试试这个:
<?php
if (isset($_POST['points']))
{
echo $_POST['points']." is the value";
}
else
?>
<div class="col-md-10">
<form role="form" method="POST">
<div class="radio">
<label><input type="radio" name="optradio" id="1"> Leadership </label>
<label><input type="radio" name="optradio" id="2"> Management </label>
<label><input type="radio" name="optradio" id="3"> Distribution </label>
</div>
<div>
</div>
</form>
</div>
<?php } ?>