如何获取按钮以在引导程序中触发 Ajax 请求
How to Get Button to Trigger Ajax Request in Bootstrap
我有一个带有 Bootstrap 的模态表单,该表单与用户在添加到购物车之前自定义的特定项目相关联。我正在尝试在单击"添加到购物车"按钮时触发 Ajax 请求。但是该按钮似乎没有触发任何东西。我正在使用 Bootstrap 示例代码的修改版本:http://getbootstrap.com/javascript/#modals-related-target
关于如何让按钮正确触发 ajax 请求的任何建议?
更新:我在下面添加了PHP代码,以防这可能是问题所在。
.HTML:
<div class="modal-body">
<form name="formBasic" id="formBasic">
<input type="hidden" name="function" value="basic-form">
<div class="form-group">
<label for="message-text" class="control-label">Enter customized information</label>
<textarea class="form-control" id="customized-information"></textarea>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="basic-submit">Add to Cart</button>
</div>
Javascript:
$(document).ready(function () {
var formBasic = function () {
var formData = $("#formBasic").serialize();
$(form).ajaxSubmit({
type: 'post',
data: formData,
dataType: 'json',
url: 'http://localhost/forms.php'
error: function () {
console.log(output);
alert("There was an error processing this page.");
return false;
},
complete: function (output) {
$('#formBasicResults').html(output.responseText);
}
});
return false;
};
$("#basic-submit").on("click", function (e) {
e.preventDefault();
formBasic();
});
});
.PHP:
//formBasic Processing
function formBasic(){
$output = 'Output from Form Basic:
';
foreach ($_POST as $key => $value) {
$output .= $key . ': ' . $value . '
';
}
echo $output;
}
//FormAdvanced Processing
//. . .
if(in_array($_POST['function'], array('formBasic','formAdvanced'))){
$_POST['function']();
}else{
echo 'There was an error processing the form';
}
你的代码应该是:
$(document).ready(function () {
var formBasic = function () {
var formData = $("#formBasic").serialize();
$.ajax({
type: 'post',
data: formData,
dataType: 'json',
url: 'http://localhost/forms.php',
error: function () {
alert("There was an error processing this page.");
return false;
},
complete: function (output) {
$('#formBasicResults').html(output.responseText);
}
});
return false;
};
$("#basic-submit").on("click", function (e) {
e.preventDefault();
formBasic();
});
});
问题:
1-在线缺少逗号:
url: 'http://localhost/forms.php'
2- 表格未定义:
$(form).ajaxSubmit({
工作小提琴:http://jsfiddle.net/p9v2eg4u/2/
$('#basic-submit').click(function() {
var formData = $("#formBasic").serialize();
console.log(formData);
添加了表单数据值的console.log();
$('#formBasic').ajaxSubmit({
type: 'POST',
data: formData,
dataType: 'JSON',
url: 'http://localhost/forms.php',
在 URL 后添加了缺少的逗号
error: function () {
alert("There was an error processing this page.");
return false;
},
complete: function (output) {
console.log(output);
另一个控制台.log输出对象
$('#formBasicResults').html(output.responseText);
},
success: function(output) {}
请考虑使用成功而不是完成,如果成功或错误,将执行完成。
});
return false;
});
相关文章:
- Html引导程序警报自动关闭困难
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- Twitter引导程序Typeahead-Id&标签
- 引导程序崩溃一次只能看到一个
- 引导程序/基础堆叠行/列
- 如何保持引导程序下拉复选框列表下拉
- .aspx页面上引导程序中的动态选项卡
- 菜单栏class=活动引导程序主题无法正常工作
- 为什么引导程序下拉菜单只有在包含bootstrap-responsive.css时才起作用
- 如何在引导程序元素的顶部添加掩码
- 如何平滑地设置twitter引导程序进度条的动画
- 如何在模式弹出窗口中使用引导程序日期和时间选择器
- 引导程序转盘不工作:堆叠图像(使用rails)
- datepicker引导程序再次初始化
- Nano Scroller在引导程序DropDown和Model Box中不起作用
- 如何在1920px大屏幕的引导程序中将容器大小更改为960px
- Twitter引导程序在下拉列表打开时停止传播
- 使用引导程序确认发布请求
- 如何获取按钮以在引导程序中触发 Ajax 请求
- 当我在django中运行服务器时,我收到了这个请求错误,i'我一直在使用引导程序