Jeff
Jeff

Reputation: 83

POST Variables not being passed

I'm trying to pass some POST variables from hidden inputs (using JQuery to change the value of the input according to the text in the td field). I've tested the JQuery and it definitely assigning the inputs the right values, but when I try and assign POST variables according to the values on the previous page, they're not set to the numbers.

Code:

<form method="POST" action="newcriminalreport2.php">

            <div style="width:800px;text-align:left;margin:0 auto;padding-bottom:5px;">A. PENDING BALANCE</div>
            <table border="1" style="width:800px;" ID="tableA">
            <th style="width:40%;"></th>
            <th colspan="2" style="width:20%;">CAPITAL</th>
            <th colspan="2" style="width:20%;">NON-CAPITAL</th>
            <th colspan="2" style="width:20%;">TOTAL</th>
            <tr>
            <td></td>
            <td>Defs</td>
            <td>Cases</td>
            <td>Defs</td>
            <td>Cases</td>
            <td>Defs</td>
            <td>Cases</td>
            </tr>
            <tr>
            <td>1. Pending Balance from Previous Month</td>
            <td id="PendingCapDefs">123</td><input type="hidden" name="PendingCapDefs" id="PendingCapDefsInput">
            <td id="PendingCapCases">2</td><input type="hidden" name="PendingCapCases" id="PendingCapCasesInput" value="">
            <td id="PendingNonCapDefs">3</td><input type="hidden" name="PendingNonCapDefs" id="PendingNonCapDefsInput" value="">
            <td id="PendingNonCapCases">4</td><input type="hidden" name="PendingNonCapCases" id="PendingNonCapCasesInput" value="">
            <td id="PendingDefsTotal">5</td><input type="hidden" name="PendingDefsTotal" id="PendingDefsTotalInput" value="">
            <td id="PendingCasesTotal">6</td><input type="hidden" name="PendingCasesTotal" id="PendingCasesTotalInput" value="">
            </tr>
            </table> 

            <br/><br/><div style="width:800px;text-align:left;margin:0 auto;padding-bottom:5px;">B. CRIMINAL CASE ASSIGNMENTS</div>
            <table border="1" style="width:800px;" ID="tableB">
            <th style="width:40%;"></th>
            <th colspan="2" style="width:20%;">CAPITAL</th>
            <th colspan="2" style="width:20%;">NON-CAPITAL</th>
            <th colspan="2" style="width:20%;">TOTAL</th>
            <tr>
            <td></td>
            <td>Defs</td>
            <td>Cases</td>
            <td>Defs</td>
            <td>Cases</td>
            <td>Defs</td>
            <td>Cases</td>
            </tr>
            <tr>
            <td>2. New Fillings</td>
            <td><input type="text" name="username" size="5" id="AsgNewCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgNewCapCases"/></td>
            <td><input type="text" name="username" size="5" id="AsgNewNonCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgNewNonCapCases"/></td>
            <td id="AsgNewTotalDefs">234</td>
            <td id="AsgNewTotalCases">345</td>
            </tr>
            <tr>
            <td>3. Transfers Received</td>
            <td><input type="text" name="username" size="5" id="AsgTRCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgTRCapCases"/></td>
            <td><input type="text" name="username" size="5" id="AsgTRNonCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgTRNonCapCases"/></td>
            <td id="AsgTRTotalDefs">234</td>
            <td id="AsgTRTotalCases">345</td>
            </tr>
            <tr>
            <td>4. Reopened Cases</td>
            <td><input type="text" name="username" size="5" id="AsgRCCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgRCCapCases"/></td>
            <td><input type="text" name="username" size="5" id="AsgRCNonCapDefs"/></td>
            <td><input type="text" name="username" size="5" id="AsgRCNonCapCases"/></td>
            <td id="AsgRCTotalDefs">234</td>
            <td id="AsgRCTotalCases">345</td>
            </tr>
            <tr>
            <td>5. Total Cases Assigned</td>
            <td id="PendingCapDefsTotal"/>0</td><input type="hidden" name="PendingCapDefsTotal" id="PendingCapDefsTotalInput" value="">
            <td id="PendingCapCasesTotal"/>0</td><input type="hidden" name="PendingCapCasesTotal" id="PendingCapCasesTotalInput" value="">
            <td id="PendingNonCapDefsTotal"/>0</td><input type="hidden" name="PendingNonCapDefsTotal" id="PendingNonCapDefsTotalInput" value="">
            <td id="PendingNonCapCasesTotal"/>0</td><input type="hidden" name="PendingNonCapCasesTotal" id="PendingNonCapCasesTotalInput" value="">
            <td id="PendingTotalDefs">0</td><input type="hidden" name="PendingTotalDefs" id="PendingTotalDefsInput" value="">
            <td id="PendingTotalCases">0</td><input type="hidden" name="PendingTotalCases" id="PendingTotalCasesInput" value="">
            </tr>
            </table> 

        <br />
        <div style="text-align:right; width: 900px;"><input type="submit" value="Save and Continue -->" style="border:none;background-color:transparent;color:blue;text-decoration:underline"></form>

and the next page:

<?php
    session_start();
    $judge = $_SESSION['judge'];
    if(!isset($_SESSION['user'])){
        header( 'Location: index.php'  );
        die();
    }

    // Get line 1 and 5 from first page (to be used in newcriminalreport3 totals)
        $_SESSION['PendingCapDefs'] = $_POST['PendingCapDefs'];
        $_SESSION['PendingCapCases'] = $_POST['PendingCapCases'];
        $_SESSION['PendingNonCapDefs'] = $_POST['PendingNonCapDefs'];
        $_SESSION['PendingNonCapCases'] = $_POST['PendingNonCapCases'];
        $_SESSION['PendingDefsTotal'] = $_POST['PendingDefsTotal'];
        $_SESSION['PendingCasesTotal'] = $_POST['PendingCasesTotal'];

        $_SESSION['PendingCapDefsTotal'] = $_POST['PendingCapDefsTotal'];
        $_SESSION['PendingCapCasesTotal'] = $_POST['PendingCapCasesTotal'];
        $_SESSION['PendingNonCapDefsTotal'] = $_POST['PendingNonCapDefsTotal'];
        $_SESSION['PendingNonCapCasesTotal'] = $_POST['PendingNonCapCasesTotal'];
        $_SESSION['PendingTotalDefs'] = $_POST['PendingTotalDefs'];
        $_SESSION['PendingTotalCases'] = $_POST['PendingTotalCases'];
?>

Anyone know what's up?

print_r($_POST):

Array ( [PendingCapDefs] => [PendingCapCases] => [PendingNonCapDefs] => [PendingNonCapCases] => [PendingDefsTotal] => [PendingCasesTotal] => [username] => 0 [PendingCapDefsTotal] => [PendingCapCasesTotal] => [PendingNonCapDefsTotal] => [PendingNonCapCasesTotal] => [PendingTotalDefs] => [PendingTotalCases] => ) 

<script type="text/javascript">
    $(window).unload( function () {
        // Line 1
        $('#PendingCapDefsInput').val($('#PendingCapDefs').html());
        $('#PendingCapCasesInput').val($('#PendingCapCases').html());
        $('#PendingNonCapDefsInput').val($('#PendingNonCapDefs').html());
        $('#PendingNonCapCasesInput').val($('#PendingNonCapCases').html());
        $('#PendingDefsTotalInput').val($('#PendingDefsTotal').html());
        $('#PendingCasesTotalInput').val($('#PendingCasesTotal').html());

        // Line 5
        $('#PendingCapDefsTotalInput').val($('#PendingCapDefsTotal').html());   
        $('#PendingCapCasesTotalInput').val($('#PendingCapCasesTotal').html()); 
        $('#PendingNonCapCasesTotalInput').val($('#PendingNonCapCasesTotal').html());   
        $('#PendingTotalDefsInput').val($('#PendingTotalDefs').html()); 
        $('#PendingTotalCasesInput').val($('#PendingTotalCases').html());   
    });
</script>

Upvotes: 1

Views: 686

Answers (1)

Marc B
Marc B

Reputation: 360572

    $('#PendingCapDefsInput').val($('#PendingCapDefs').html());

An input element has no html, so you're wiping out the contents of your form as the page unloads, BEFORE the form data is sent to the server. Since you're just submitting directly to the server, why bother with the jquery "massage" anyways?

Upvotes: 1

Related Questions