1

我将首先说我是 Javascript 和 JQuery 的新手。我想要完成的是在 HTML 页面上有一个提交按钮,它将调用dbQuery.js文件中的函数,该函数将变量的值打印到屏幕上,然后将它们添加到 MySQL 数据库中。

我需要使用selectedVisibleValue在我的第一个函数中定义的 JavaScript 变量dbQuery我想这样做的原因是因为我有四个下拉菜单,其中三个是隐藏下拉菜单,仅根据第一个非隐藏下拉菜单显示,只有一个隐藏的下拉菜单是可见的。

我想在我的 PHP 页面中使用这些变量formPage来执行数据库功能。我的代码在下面我想将testing1函数添加到dbQuery函数中。

我尝试将其复制并粘贴到dbQuery函数中,但它不起作用。我不想selectedVisibleValue在下面的代码中使用。我只是想对一些虚假变量进行一些测试。

    var dbQuery = function(){
    var description = document.getElementById("jobDescription").value;
    var selectedEquip = document.getElementById("equipmentList");
    var selectedEquip1 = selectedEquip.options[selectedEquip.selectedIndex].text;
    var selectedVisibleValue = $(".unitDropDowns select:visible").val();
    document.getElementById("descriptionSummary").innerHTML = "<h3>Description</h3>" + "<p>" + description + "</p>";
    document.getElementById("equipmentRan").innerHTML = "<h3>Equipment Ran </h3>" + "<p>" + selectedEquip1 + "</p>" + "<h3>Unit Number</h3>" + "<p>" + selectedVisibleValue + "</p>";
    document.getElementById("equipmentRan").style.display = "block";
    document.getElementById("descriptionSummary").style.display = "block";
}

var testing1 = function() {
    $.get(
        "formPage.php",
     {paramOne : 123, paramX : 'abc'},
     function(data) {
     document.getElementById("equipmentRan").innerHTML = ('page content: ' + data);
    }
);
}
4

3 回答 3

4
//cache references to static elements
var jobDescription = $('#jobDescription')
  , selectedEquip = $('#equipmentList')
  , descriptionSummary = $('#descriptionSummary')
  , equipmentRan = $('#equipmentRan')
  ;    


function dbQuery(){

    //gather params    
    var params = {
        jobDescription : jobDescription.val(),
        selectedEquip1 : selectedEquip.val(),
        selectedVisibleValue = $(".unitDropDowns select:visible").val()
    }

    //show summary
    descriptionSummary.html('<h3>Description</h3><p>'+description+'</p></h3>').show();
    equipmentRan.html('<h3>Equipment Ran</h3><p>'+selectedEquip1+'</p><h3>Unit Number</h3><p>'+selectedVisibleValue+'</p>').show();

    //do a get
    $.get('formPage.php',params,function(data) {
        equipmentRan.html('page content: ' + data);
    }

}
于 2013-01-05T03:37:16.267 回答
2

jsFiddle 演示

在函数之间传递变量可能对您的项目有用。

HTML:

<div id="theBox"></div>
<button>Press Me</button>

JS

$(document).ready(function() {

    // This is some other Do More function, defined prior to the next variable function.
    // This is your .get() request.
    function doMore(target){
        // For the incomming targer, add a class style of a larger font.
        $(target).css('font-size', 30);
    }    


    // The main function.    
    var dbQuery = function() {
        // Show dynamic text on the HTML page.
        var extra = $('#theBox').html('Dynamic Text Results');
        // Run some other function, also... send the private variable in use.
        doMore(extra);        
    };


    // The submit button.
    $('button').on('click', function() {
        // Start the function.
        dbQuery();
    });

});
于 2013-01-05T03:56:18.560 回答
0

这是工作代码:

        function dbQuery() {
    window.description = document.getElementById("jobDescription").value;
    var selectedEquip = document.getElementById("equipmentList");
    window.selectedEquip1 = selectedEquip.options[selectedEquip.selectedIndex].text;
    window.selectedVisibleValue = $(".unitDropDowns select:visible").val();
    testing1();
}

function testing1() {
    $(document).ready(function() {
        $.get(
        "formPage.php",
     {paramOne : window.selectedVisibleValue, paramX : window.description, paramY : window.selectedEquip1},
     function(data) {
     document.getElementById("equipmentRan").innerHTML = (data);
    }
);
});
}
于 2013-01-05T04:33:38.143 回答