我有一个带有按钮的表单,其初始值为'Submit'
,其ID为'submit1'
,由此使用:
$( function(){
$("#submit1").click(function () {
alert("i got ");
var dname = $("#dname").attr('value');
if(jQuery.trim(dname).length == 0){
$("#dnametd").append("<span id='requiredsp' class='vanadium-advice vanadium-invalid'>Thissss is a required field.</span>");
$("#dname").keyup(function () {
$("#requiredsp").remove();
});
}
else{
var dname = $("#dname").attr('value');
var symptons = $("#symptons").attr('value');
$.ajax({
type: "POST",
data: "method=" +"addDisease"+"&dname="+dname+"&symptons="+symptons+"&status="+"y",
url: "classes/disease_type.class.php",
success: function(){
gettables();
}
});
$("#newformreg").hide( { direction: "left" }, 1500);
$("#dname").val('');
$("#symptons").val('');
}
});
});
稍后我从服务器获取数据,我在上面的表单中获取了带有隐藏文本框id的数据,并且我将按钮值更改为Update,并将id更改为如下所示。
function doEdit(id){
$.ajax({
type: "POST",
data: "method=" +"getDisease"+"&did="+id,
url: "classes/disease_type.class.php",
success: function(myVar){
$("#newformreg").show( { direction: "left" }, 1000);
arr3=myVar.split('%');
$('<input>').attr({type:'hidden',id:'did'}).appendTo("#insertForm");
$("#did").val(arr3[0]);
document.getElementById("dname").value=arr3[1];
//$("#dname").val(arr3[1]);
$("#symptons").val(arr3[2]);
$("#submit1").prop({id:'update',value:'Update'});
//document.getElementById("submit").value="Update";
//document.getElementById("submit").id="update";
},
});
}
$( function() {
$("#update").click(function () {
var upvalue = $("#update").attr('value');
alert("updateclick");
alert(upvalue);
var dnamee = document.getElementById("dname").value;
if(jQuery.trim(dname).length == 0){
$("#dnametd").append("<span id='requiredsp' class='vanadium-advice vanadium-invalid'>Thissss is a required field.</span>");
$("#dname").keyup(function () {
$("#requiredsp").remove();
});
}
else{
alert("proper");
var did = $("#did").attr('value');
var dname = $("#dname").attr('value');
var symptons = $("#symptons").attr('value');
$.ajax({
type: "POST",
data: "method=" +"updateDisease"+"&dname="+dname+"&symptons="+symptons+"&did="+did+"&doUpdate="+"edit",
url: "classes/disease_type.class.php",
success: function(){
$("#msgdiv").addClass("msg success").add('<span>Record Updated Successfuly</span>');
}
});
}
});
alert("out");
});
但即使这样做,每当我点击更新它执行上面的提交按钮的功能,并不会更新。
此外,当我的页面打开时,它会给我alert("out");
以上。我不明白发生了什么。
答案 0 :(得分:1)
您正在使用$("#update").click()
绑定点击事件,但第一次加载页面时,“更新”ID不存在。
为了动态绑定事件,您需要使用.on()
方法。请查看here了解更多详情。
编辑:
你的代码写得不好,我建议你给按钮一个ID(#submitBtn)并给它一类更新/保存。然后你这样做:
$("#submitBtn").click(){
if ($(this).hasClass('save')){
//do save code
}
else{
//do update code
}
}
答案 1 :(得分:0)
alert("out");
正常工作。正如您在代码中使用它一样 $(function(){表示准备就绪。