как передать значение флажков с помощью Ahref - PullRequest
0 голосов
/ 15 сентября 2011

Я использую следующий код в моем проекте

<cfoutput query="getOptions">

                <tr>
                <td align="center"> #optionname#</td>


                    <td align="center"> #DollarFormat(optionprice)#</td>

                    <td><input type="checkbox" name="OptionalID" value="#OptionID#"   ></td>
                </tr> 
                </cfoutput>

И я передаю значение в другую форму следующим образом

<a href="addtocart.cfm?pid=#productId#&OptionalID=#OptionalID#">

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

Заранее спасибо

Ответы [ 3 ]

5 голосов
/ 15 сентября 2011

Измените страницу, чтобы использовать форму вместо передачи значений по ссылке.

Что-то вроде:

<form name="myform" action="addToCart.cfm" method="post">
    <cfoutput>
        <input type="hidden name="pid" value="#productId#">
        <input type="hidden name="OptionalID" value="#OptionalID#">

            <cfloop query="getOptions">
                <tr>
                    <td align="center"> #optionname#</td>
                    <td align="center"> #DollarFormat(optionprice)#</td>
                    <td><input type="checkbox" name="OptionalID" value="#OptionID#"></td>
                </tr>
            </cfloop>
            <input type="submit" value="Add to cart">
    </cfoutput>
</form>

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

надеюсь, что это поможет

0 голосов
/ 15 сентября 2011

Для этого вам нужен JavaScript.

Во-первых, имейте это на своей странице, где у вас есть код, который вы отправили:

<script type="text/javascript">
function AddCheckboxValues(oLink, sName) {
    var arrCheckboxes = document.getElementsByName(sName);
    var values = [];
    for (var i = 0; i < arrCheckboxes.length; i++) {
        if (arrCheckboxes[i].checked) {
            values.push(arrCheckboxes[i].value);
        }
    }
    oLink.href += "&" + sName + "=" + values.join(",");
}
</script>

Во-вторых, добавьте onclick к тегу ссылки:

<a href="addtocart.cfm?pid=#productId#" onclick="AddCheckboxValues(this, 'OptionalID');">

Вот и все, теперь форма addtocart.cfm будет получать значения строки запроса для флажков, отмеченных пользователем.

0 голосов
/ 15 сентября 2011

Несмотря на то, что вы можете усложнить работу с JavaScript, если вы используете A для добавления в корзину, вы будете передавать только значения в URL.Вместо этого вы хотите использовать форму.

<form name="cartForm" action="addtocart.cfm?pid=#productId#&OptionalID=#OptionalID#" method="POST">
    . . . .
</form>

Конечно, это означает, что вы обычно используете кнопку отправки внутри формы.Если вы используете ссылку, вы можете сделать

<a href="#" onClick="document.forms["cartForm"].submit();">Add to cart</a>

(обратите внимание, что я упустил различные теги и экранирование # для простоты)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...