我有一个表的嵌套记录,我使用ajax插入到数据库的不同表中,当我点击某个特定按钮时,值会更改为已发送的数据,依此类推下行按钮。我使用两个完美运行的脚本执行此操作,一个插入数据而不刷新,另一个在单击时禁用特定按钮并将值更改为发送的数据。现在我想把它们放在一起,这样它就变成了一个。
插入
$(document).ready(function(){
$("form").on('submit',function(event){
event.preventDefault();
data = $(this).serialize();
$.ajax({
type: "POST",
url: "calls/insert_fryd.asp",
data: data
}).success(function() {
禁用按钮
$(function(){
$(".btn-style").click(function(){
$(this).val('data sent');
$(this).attr('disabled', true);
});
});
答案 0 :(得分:1)
$(function(){});
只是$(document).ready(function(){});
只需将两段代码放在一个DOM就绪处理程序中。 e.g。
$(function () {
$("form").on('submit', function (event) {
event.preventDefault();
data = $(this).serialize();
$.ajax({
type: "POST",
url: "calls/insert_fryd.asp",
data: data
}).success(function () {});
});
$(".btn-style").click(function () {
$(this).val('data sent');
$(this).attr('disabled', true);
});
});
假设" .btn-style"匹配您的提交按钮,您可以将其简化为:
$(function () {
$("form").on('submit', function (event) {
event.preventDefault();
// Disable submit button on this specific form
$('.btn-style', this).val('data sent').prop('disabled', true);
data = $(this).serialize();
$.ajax({
type: "POST",
url: "calls/insert_fryd.asp",
data: data
}).success(function () {
});
});
});
发现的后续问题(无法在Chrome中运行)归结为disabled
通过attr
。对于真正的属性(例如checked
和disabled
),请始终使用prop
代替attr
。