JQuery удалить скрытое значение формы после отправки формы - PullRequest
0 голосов
/ 15 июля 2011

У меня небольшая форма, и мне нужно jquery для очистки скрытого значения формы после отправки формы.

Вот фрагмент из моей формы

<select id='size'>
    <option value='4.99'>S</option>
    <option value='5.99'>M</option>
    <option value='6.99'>L</option>
    <option value='7.99'>XL</option>
</select>

<input type="hidden" id="my-item-price" name="my-item-price" value="" />

и jqueryкоторый изменяет значение скрытого поля

$(document).ready(function(){

    $('#size').change(function() {

        var x= $(this).val();
        $('#my-item-price').val(x);
    });
}

проблема в том, что после того, как я отправил форму, я хочу, чтобы значение было удалено из скрытого ввода.Я ожидаю, что мне нужно установить значение "", но как мне это сделать?

РЕДАКТИРОВАТЬ

Вот ссылка на тестовую часть моего сайта

http://www.operationbraveheart.org.uk/jcart/

То, что я хочу сделать, - это то, что после нажатия кнопки он сбрасывает значение скрытой формы в ничто, поэтому, когда я делаю новый выбор, он снова изменяет значение

Воткод для jquery.

    function clearoption() {
            alert('it should work');
            $('#my-item-price').attr('value','');
        }

        $('#size').change(function() {

            var x= $(this).val();
            $('#my-item-price').val(x);
        }); 

      // Add an item to the cart
      $('.jcart').submit(function(e) {
         add($(this));
         clearoption();
         e.preventDefault();
      });

Она вызывает функцию для очистки # my-item-price, но по какой-то причине она этого не делает.Если я выбираю другой размер, он все равно добавляет первоначальную цену

1 Ответ

2 голосов
/ 17 июля 2011

Если вы используете Ajax для отправки формы, то в части успеха вы можете использовать следующий код

 $(' #myform input:hidden').attr('value','');

или

$('#my-item-price').attr('value','');

иначе, если вы не используете ajax для отправки формы, очистка скрытых полей не имеет смысла.

также было бы намного проще, если бы вы могли разместить ссылку на вашу страницу!

EDIT: Чтобы вызвать / обновить изменение тега

, в котором отображается цена, необходимо выполнить следующие действия:

$(' #myform input:hidden').attr('value','').trigger('change');

Я думаю, что это должно работать

...