Отправить через JavaScript не отправляет значение текстового поля - PullRequest
0 голосов
/ 27 июля 2011

Интересная проблема. У меня есть клиент, который хочет, чтобы кнопка добавления в корзину была изображением. Это нормально, отправьте через javascript в клик на изображение. Но когда я смотрю на отправляемые значения, количество всегда равно 1 (или как я его установил, как в коде). Другими словами, я не могу изменить значение количества.

<form name="AddToCartForm<?=$index?>" id="AddToCartForm<?=$index?>" action="[cartaddress]" method="post">
    <input type="hidden" value="1" name="insert" />
    <input type="hidden" value="<?=$subcategory['Name'];?>" name="category" />
    <input type="hidden" value="<?=$item['ProductNumber'];?>" name="prodnumber" />
    <input type="hidden" value="<?=$item['Name'];?>" name="prodname" />
    <input type="hidden" value="<?=$item['Price'];?>" name="prodprice" />
    <input type="hidden" value=".10" name="handling"/>
    <input type="hidden" value="10" name="weight" />
    <p><?=$item['Description'];?></p>
    <p><strong>Quantity:</strong>&nbsp;<input type="text" name="quantity" size="10" value="1"/></p>
    <p><strong>Price:</strong>&nbsp;$<?=number_format($item['Price'], 2);?></p>
    <p>
        <img onclick="document.getElementById('AddToCartForm'+<?=$index?>).submit();" style="cursor:pointer;" src="images/cart_button.png" width="100" height="111" alt="add to cart" />
    </p>
</form>

(Если я использую кнопку отправки, количество пройдёт.)

Ответы [ 3 ]

3 голосов
/ 27 июля 2011

Вы можете использовать <input type="image"> вместо <img>.Он действует как кнопка отправки.

0 голосов
/ 28 июля 2011

Хотя решение уже дано, я думаю, что я получил причину проблемы:

 document.getElementById('AddToCartForm'+<?=$index?>).submit();

Я думаю, что 'onclick' отправляет неправильную форму. Будет ли это работать, если вы измените его на document.getElementById('AddToCartForm<?=$index?>').submit();?

0 голосов
/ 27 июля 2011

Ваш onlcick просто подчиняется, он ничего не делает для изменения значения quantity ... поэтому он делает то, что вы сказали.Перед отправкой вам необходимо прочитать значение quantity, добавить 1 к нему и записать новое значение обратно в quantity.

...