Javascript、对话框、数据库
Javascript,Dialog Box,Database
下面的代码是来自以下 link 的示例:
http://bootboxjs.com/examples.html
示例名称:自定义 HTML 表单
bootbox.dialog({
title: "This is a form in a modal.",
message: '<div class="row"> ' +
'<div class="col-md-12"> ' +
'<form class="form-horizontal"> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="name">Name</label> ' +
'<div class="col-md-4"> ' +
'<input id="name" name="name" type="text" placeholder="Your name" class="form-control input-md"> ' +
'<span class="help-block">Here goes your name</span> </div> ' +
'</div> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="awesomeness">How awesome is this?</label> ' +
'<div class="col-md-4"> <div class="radio"> <label for="awesomeness-0"> ' +
'<input type="radio" name="awesomeness" id="awesomeness-0" value="Really awesome" checked="checked"> ' +
'Really awesome </label> ' +
'</div><div class="radio"> <label for="awesomeness-1"> ' +
'<input type="radio" name="awesomeness" id="awesomeness-1" value="Super awesome"> Super awesome </label> ' +
'</div> ' +
'</div> </div>' +
'</form> </div> </div>',
buttons: {
success: {
label: "Save",
className: "btn-success",
callback: function () {
var name = $('#name').val();
var answer = $("input[name='awesomeness']:checked").val()
Example.show("Hello " + name + ". You've chosen <b>" + answer + "</b>");
}
}
}
}
);
我想知道如何将文本框中输入的数据发送到特定列和特定行(基于条件)到数据库,以便在用户单击时覆盖特定行的列数据在 "save" 按钮上。
请详细说明我是否可以使用 javascript 来执行此操作,如果不能,我应该使用哪种语言。此外,还请告诉我如何使用上面给出的示例给我代码。
刚开始做web开发,经验不多。如果你能给我一个好的答案并解决我的问题,我将非常感谢你。非常感谢您。
嗯,不知道你是否真的明白你在做什么,那么你应该看看你的代码中的这一部分:
//This is the part where you are supposed to handle your data
//This code is called only when you click on your success button
callback: function () {
var name = $('#name').val();
var answer = $("input[name='awesomeness']:checked").val()
Example.show("Hello " + name + ". You've chosen <b>" + answer + "</b>");
}
所以,如果这段代码很好,你只需要在那里做你的数据库工作,一个好的方法可能是 ajax 调用 - 函数:
$.ajax({
type : 'POST',
url : 'yourPhpCodeToWriteInDatabase.php',
data : {'data1':something,'data2':somethingElse},
error : function(response){
//do something if your php code fails
},
success : function(response){
//do something if your php code succeeds
}
});
也许将您的 .ajax 代码包围到一个带有回调的函数中,您只在成功时调用它也不错……像这样:
function writeToDatabase(data1,data2,callback){
//your ajax code and error/success like this :
//...
error : function(response){
callback(response);
},
success : function(response){
callback(response);
}
//...
}
然后,在你的代码(你的 bootbox...)的回调部分做这样的事情:
//...
callback : function(){
writeToDatabase($('#name').val(),$("input[name='awesomeness']:checked").val(),function(response){
//do something with the function response there!
});
}
//...
这只是一种方法。我不假装这是完成这项工作的最佳方法,但这可能是一个解决方案。您也许应该等待其他人向您展示另一种方法,这可能更适合您的问题。但这里有一条路要走。
希望对您有所帮助!
下面的代码是来自以下 link 的示例: http://bootboxjs.com/examples.html
示例名称:自定义 HTML 表单
bootbox.dialog({
title: "This is a form in a modal.",
message: '<div class="row"> ' +
'<div class="col-md-12"> ' +
'<form class="form-horizontal"> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="name">Name</label> ' +
'<div class="col-md-4"> ' +
'<input id="name" name="name" type="text" placeholder="Your name" class="form-control input-md"> ' +
'<span class="help-block">Here goes your name</span> </div> ' +
'</div> ' +
'<div class="form-group"> ' +
'<label class="col-md-4 control-label" for="awesomeness">How awesome is this?</label> ' +
'<div class="col-md-4"> <div class="radio"> <label for="awesomeness-0"> ' +
'<input type="radio" name="awesomeness" id="awesomeness-0" value="Really awesome" checked="checked"> ' +
'Really awesome </label> ' +
'</div><div class="radio"> <label for="awesomeness-1"> ' +
'<input type="radio" name="awesomeness" id="awesomeness-1" value="Super awesome"> Super awesome </label> ' +
'</div> ' +
'</div> </div>' +
'</form> </div> </div>',
buttons: {
success: {
label: "Save",
className: "btn-success",
callback: function () {
var name = $('#name').val();
var answer = $("input[name='awesomeness']:checked").val()
Example.show("Hello " + name + ". You've chosen <b>" + answer + "</b>");
}
}
}
}
);
我想知道如何将文本框中输入的数据发送到特定列和特定行(基于条件)到数据库,以便在用户单击时覆盖特定行的列数据在 "save" 按钮上。
请详细说明我是否可以使用 javascript 来执行此操作,如果不能,我应该使用哪种语言。此外,还请告诉我如何使用上面给出的示例给我代码。
刚开始做web开发,经验不多。如果你能给我一个好的答案并解决我的问题,我将非常感谢你。非常感谢您。
嗯,不知道你是否真的明白你在做什么,那么你应该看看你的代码中的这一部分:
//This is the part where you are supposed to handle your data
//This code is called only when you click on your success button
callback: function () {
var name = $('#name').val();
var answer = $("input[name='awesomeness']:checked").val()
Example.show("Hello " + name + ". You've chosen <b>" + answer + "</b>");
}
所以,如果这段代码很好,你只需要在那里做你的数据库工作,一个好的方法可能是 ajax 调用 - 函数:
$.ajax({
type : 'POST',
url : 'yourPhpCodeToWriteInDatabase.php',
data : {'data1':something,'data2':somethingElse},
error : function(response){
//do something if your php code fails
},
success : function(response){
//do something if your php code succeeds
}
});
也许将您的 .ajax 代码包围到一个带有回调的函数中,您只在成功时调用它也不错……像这样:
function writeToDatabase(data1,data2,callback){
//your ajax code and error/success like this :
//...
error : function(response){
callback(response);
},
success : function(response){
callback(response);
}
//...
}
然后,在你的代码(你的 bootbox...)的回调部分做这样的事情:
//...
callback : function(){
writeToDatabase($('#name').val(),$("input[name='awesomeness']:checked").val(),function(response){
//do something with the function response there!
});
}
//...
这只是一种方法。我不假装这是完成这项工作的最佳方法,但这可能是一个解决方案。您也许应该等待其他人向您展示另一种方法,这可能更适合您的问题。但这里有一条路要走。
希望对您有所帮助!