Входната стойност на jQuery не се актуализира с изпращане на формуляр

Преди да изпратя моя HTML формуляр, поставям някои стойности в моя скрит входен елемент, който не е изпратен с моя формуляр, някаква грешка или нещо подобно?

Например:

По-долу е моята функция за формуляр:

<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php" onClick="beforeSubmit(); return false;">
    <input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value="">
</form>

По-долу е моята JS функция:

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

    function beforeSubmit(){

        $('#OLD_BRANCH_FILTERS_ALL').attr('value', 'xyz');

        alert(document.getElementById('OLD_BRANCH_FILTERS_ALL').value);

        document.clientForm.action = 'clients.php?saveBtn=Save';
        document.clientForm.submit();
    }

</script> 

Сега, когато проверя заявката за формуляр $_REQUEST в PHP, тя не показва стойност в елемент.

Някаква следа защо не работи.

Благодаря предварително !


person Aditya P Bhatt    schedule 04.11.2013    source източник
comment
Опитахте ли да използвате onSubmit вместо onClick?   -  person Cthulhu    schedule 04.11.2013
comment
Опитах вашия код на моя локален XAMP и той работи. Страницата за изпращане показа стойност xyz. Проверете дали нямате грешка някъде другаде   -  person Ahmed Essam    schedule 04.11.2013


Отговори (1)


вашият onlick не е извикан навреме за задаване на стойностите, опитайте по този начин

<form id="clientForm" name="clientForm" method="post" enctype="multipart/form-data" action="clients.php">
    <input type="text" name="OLD_BRANCH_FILTERS_ALL" id="OLD_BRANCH_FILTERS_ALL" value="">
</form>

и jquery

$('#clientform').submit(function() {
    beforeSubmit();
});

Освен това, ако искате да предоставите валидация на полето, което можете да използвате,

$('#clientform').submit(function(e) {
    beforeSubmit();
    if (!{VALID}) {
       e.preventDefault();
    }
});
person AbstractChaos    schedule 04.11.2013