这可能是一件简单的事情,但我花了太多时间试图让它发挥作用,但没有成功。
基本上我有以下引导按钮:
<div class="bs-example">
<div class="btn-group" data-toggle="buttons">
<label title="This will display" class="btn btn-lg btn-info">
<input type="radio" name="toDo" id="toDo" value="enableSSH"> Enable SSH
</label>
<label class="btn btn-lg btn-info">
<input type="radio" name="toDo" id="toDo" value="migrateDB"> Migrate Database
</label>
</div>
我在页面下方有以下按钮,我需要使用上面选择的值:
<button id="submit" class="btn btn-default" type="button">Go!</button>
当点击该按钮时,它会触发以下jQuery功能:
$("#submit").click(function(){
var buttonValue = $('#toDo').val();
var phpfile = "submit.php";
var data = {'action': buttonValue};
$.post(phpfile, data, function (response) {
alert("Data has been submitted successfully);
});
});
这应该将所选单选按钮的结果传递给这个PHP脚本:
<?php
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'enableSSH':
alert("enableSSH has been selected");
break;
case 'migrateDB':
alert("migrateDB has been selected");
break;
}
}
?>
jQuery函数中的数据已提交的警报会正确显示,但PHP脚本中确认数据已传递的警报不会显示。
很抱歉发了这么长的帖子。请帮忙。
PHP中没有警报,它是一种无处警报的服务器端语言。
解决方案是将一些东西返回到ajax调用,而不是
<?php
if (isset($_POST['action'])) {
switch ($_POST['action']) {
case 'enableSSH':
echo "enableSSH has been selected";
break;
case 'migrateDB':
echo "migrateDB has been selected";
break;
}
}
?>
你会得到它作为回应
$.post(phpfile, data, function (response) {
alert("Data has been submitted successfully");
alert(reponse); // alert it here instead
});