Yamaha32088
Yamaha32088

Reputation: 4163

Why is only one GET value showing

I am trying to retrieve the values entered in the form below to pass into a PHP file so I can add the values into the database. The problem is I am only getting one of the values to pass into the PHP page, the URL bar only shows one value which is equipmentList I am new to JavaScript and PHP but I am guessing the solution is relativly simple. I know the problem is not with my PHP file because right now for testing/learning purposes I am only using echo to print the value of the $_GET variables that appear in the URL bar. My code below:

       <form id="updateForm" action="formPage.php">
       <input type="text" id="jobDescription" style="display: none"/>

        <label id="equipRan" style="display: none">Equipment ran</label>
        <div id="drops">
       <div id="equipType">
        <select size="1" name="equipmentList" title="" id="equipmentList" style="display: none">
            <option value="">Select Machine</option>
            <option value="EX">Excavator</option>
            <option value="DZ">Dozer</option>
            <option value="SC">Scraper</option>
        </select>
    </div>

   <div class="unitDropDowns">
      <div class="EX">
        <select class="exUnitNumbers">
            <option value="">Unit number</option>
            <option value="01E">01E</option>
            <option value="2E">2E</option>
            <option value="4E">4E</option>
        </select>           
    </div>

        <div class="DZ">
            <select class="dzUnitNumbers">
                <option value="">Unit number</option>
                <option value="01D">01D</option>
                <option value="2D">2D</option>
                <option value="1D">1D</option>
            </select>
        </div>

        <div class="SC">
            <select class="scUnitNumbers">
                <option value="">Unit number</option>
                <option value="54C">54C</option>
                <option value="53C">53C</option>
                <option value="52C">52C</option>
            </select>
        </div>
    </div>
   </div>
   <button type="submit" id="updateButton" onclick="dbQuery()" style="display: none">Submit</button>
   </form>

JavaScript Function:

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";
    document.forms["updateForm"].submit();
}

Upvotes: 0

Views: 62

Answers (2)

Igor
Igor

Reputation: 15893

In order for the value of an html element such as input or select to be included in request submitted by the form, these elements must have name attribute defined.

The purpose of your dbQuery function is not clear. Html that you construct there will at best quickly flash in front of the user and then will be replaced by the new page returned from the server.

Upvotes: 1

palako
palako

Reputation: 3470

Only your equipmentList select has a name and id.

Upvotes: 3

Related Questions