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!
    });
}
//...

这只是一种方法。我不假装这是完成这项工作的最佳方法,但这可能是一个解决方案。您也许应该等待其他人向您展示另一种方法,这可能更适合您的问题。但这里有一条路要走。

希望对您有所帮助!