【问题标题】:Passing input hidden value with JQuery使用 JQuery 传递输入隐藏值
【发布时间】:2014-04-12 23:10:51
【问题描述】:

我试图弄清楚为什么这段代码在提交时没有传递隐藏输入字段的值。

代码是从 WordPress 模板页面中取出的,我已将其从所有特征 WP 标签中剥离,以便将其粘贴到此处。字段 id 为“cutoff”。

<?php

$cutoffdate = $_POST['cutoff'];
$school = empty($_COOKIE['school']) ? null : $_COOKIE['school'];
$department = empty($_COOKIE['department']) ? null :  $_COOKIE['department'];

if ( ! empty($_POST['school']) ) {
setcookie('school', $_POST['school'], time() + 3600 * 24 * 30, '/');
setcookie('department', @$_POST['department'], time() + 3600 * 24 * 30, '/');

header('Location: '. $_SERVER['REQUEST_URI']);
exit;
}


if ( ! $school) {
    /*some code here */ }

elseif ($cutoffdate == "1") {
?> 
<div>
<form>
<select id="school" name="school">
<option value="97" >Art Center College of Design</option>
<option value="96" >Biola University</option>
<option value="4"  selected='selected'>California State University, Bakersfield</option>
<option value="22" >California State University, Pomona</option>
<option value="27" >California State University, San Marcos</option>
<option value="31" >Occidental College</option>
<option value="32" >Seminole State College of Florida</option>
<option value="89" >University of California, Davis</option>
<option value="90" >University of California, San Diego</option>
<option value="43" >University of Central Florida</option>
<option value="48" >University of Phoenix</option>
<option value="91" >Woodbury University</option>
</select>

        <input type="hidden" id="cutoff" name="cutoff" value="" />
        <br>
   </form>
    <?php endif; ?>



    </div>
    <script type="text/javascript">

jQuery( 

function ($) {

    $('#school').change( function (e) {

    var unihashtable = new Array();
        var unicutofftable = new Array();

        unihashtable[4] = 'California State University, Bakersfield';
        unihashtable[22] = 'California State University, Pomona';
        unihashtable[27] = 'California State University, San Marcos';
        unihashtable[31] = 'Occidental College';
        unihashtable[32] = 'Seminole State College of Florida';
        unihashtable[43] = 'University of Central Florida';
        unihashtable[48] = 'University of Phoenix';
        unihashtable[89] = 'University of California, Davis';
        unihashtable[90] = 'University of California, San Diego';
        unihashtable[91] = 'Woodbury University';
        unihashtable[96] = 'Biola University';

        unicutofftable[4] = new Date(2014, 0, 11, 21, 0, 0);
        unicutofftable[22] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[27] = new Date(2014, 4, 14, 21, 0, 0);
        unicutofftable[31] = new Date(2014, 4, 16, 21, 0, 0);
        unicutofftable[32] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[43] = new Date(2014, 3, 28, 21, 0, 0);
        unicutofftable[48] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[89] = new Date(2014, 5, 10, 21, 0, 0);
        unicutofftable[90] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[91] = new Date(2014, 4, 8, 21, 0, 0);
        unicutofftable[96] = new Date(2014, 4, 21, 21, 0, 0);


        for (var i in unihashtable) {


            if (i == $('#school').val()) {

                datecheck = new Date();
                if (datecheck > unicutofftable[i]) {
                    $("[name='cutoff']").val(1);
                    alert("Some Alert"); 
                    this.form.submit();


                    } else { this.form.submit(); }

            }

        }






    }   );


});
</script>
<?php }

else {
?>


<div>
<form>
<select id="school" name="school">
<option value="97" >Art Center College of Design</option>
<option value="96" >Biola University</option>
<option value="4"  selected='selected'>California State University, Bakersfield</option>
<option value="22" >California State University, Pomona</option>
<option value="27" >California State University, San Marcos</option>
<option value="31" >Occidental College</option>
<option value="32" >Seminole State College of Florida</option>
<option value="89" >University of California, Davis</option>
<option value="90" >University of California, San Diego</option>
<option value="43" >University of Central Florida</option>
<option value="48" >University of Phoenix</option>
<option value="91" >Woodbury University</option>
</select>
        <input type="hidden" id="cutoff" name="cutoff" value="" />
        <br>

    </form>
    <?php endif; ?>




</div>

<script type="text/javascript">

jQuery( 

function ($) {

    $('#school').change( function (e) {

    var unihashtable = new Array();
        var unicutofftable = new Array();

        unihashtable[4] = 'California State University, Bakersfield';
        unihashtable[22] = 'California State University, Pomona';
        unihashtable[27] = 'California State University, San Marcos';
        unihashtable[31] = 'Occidental College';
        unihashtable[32] = 'Seminole State College of Florida';
        unihashtable[43] = 'University of Central Florida';
        unihashtable[48] = 'University of Phoenix';
        unihashtable[89] = 'University of California, Davis';
        unihashtable[90] = 'University of California, San Diego';
        unihashtable[91] = 'Woodbury University';
        unihashtable[96] = 'Biola University';

        unicutofftable[4] = new Date(2014, 0, 11, 21, 0, 0);
        unicutofftable[22] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[27] = new Date(2014, 4, 14, 21, 0, 0);
        unicutofftable[31] = new Date(2014, 4, 16, 21, 0, 0);
        unicutofftable[32] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[43] = new Date(2014, 3, 28, 21, 0, 0);
        unicutofftable[48] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[89] = new Date(2014, 5, 10, 21, 0, 0);
        unicutofftable[90] = new Date(2014, 5, 11, 21, 0, 0);
        unicutofftable[91] = new Date(2014, 4, 8, 21, 0, 0);
        unicutofftable[96] = new Date(2014, 4, 21, 21, 0, 0);


        for (var i in unihashtable) {


            if (i == $('#school').val()) {

                datecheck = new Date();
                if (datecheck > unicutofftable[i]) {
                    $("[name='cutoff']").val(1);
                    alert("Some Alert"); 

                    this.form.submit();


                    } else { this.form.submit(); }

            }

        }






    }   );


});
</script>

<?php
};

我可能遗漏了一些基本或明显的东西,但我就是不明白为什么这不起作用...

【问题讨论】:

    标签: javascript jquery wordpress input hidden


    【解决方案1】:

    好吧,我知道出了什么问题:

    if ( ! empty($_POST['school']) ) {
    setcookie('school', $_POST['school'], time() + 3600 * 24 * 30, '/');
    setcookie('department', @$_POST['department'], time() + 3600 * 24 * 30, '/');
    
    header('Location: '. $_SERVER['REQUEST_URI']);
    exit;
    }
    

    这里的标头函数是重定向和终止 $_POST 值。虽然我不能说 100% 是标题本身而不是退出将这一切搞砸了。如果知道更多的人可以解释一下,我会很高兴......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2011-03-05
      • 2020-01-29
      • 1970-01-01
      • 2011-06-15
      相关资源
      最近更新 更多