Скрипт для каждой из 100+ форм на моем сайте, сжатый в одну - PullRequest
0 голосов
/ 14 февраля 2011

У меня есть страница с множеством форм, которая отправит пользователя на страницу PayPal с некоторыми предустановленными значениями. В зависимости от значения, которое они изменяют, форма объединяет их в окончательный скрытый ввод "item_name".

Для каждой формы у меня есть настроенная страница php, которая соединяет эту форму и html для меня и автоматически вводит уникальный номер после каждого случая «действия». Таким образом, функция становится combAction2 () и именем формы "action2" и т. Д. И т. Д.

Я не могу найти способ иметь только один скрипт, который изменяет «номер формы» и функцию javascript для каждой формы. Есть идеи сделать только один сценарий? Или способ сделать сценарий более эффективным, если мне действительно нужно иметь один на элемент? Спасибо.

<script type="text/javascript">
        function combAction1()
        {
        var action1person = document.forms['action1'].action1person.value;
        var action1action = document.forms['action1'].action1action.value;
        document.forms['action1'].item_name.value = action1person + ", " + action1action;
        }
</script>
<form name="action1" action="https://www.paypal.com/cgi-bin/webscr" target="_blank" method="post" onSubmit="combAction1()">
       <input type="hidden" name="cmd" value="_xclick">
       <input type="hidden" name="paymentaction" value="authorization">
       <input type="hidden" name="business" value="information@ramatico.com">
       <input type="hidden" name="currency_code" value="USD">
       <input name="amount" value="5.00" type="hidden">
       <input name="action1action" type="hidden" value="Action 1 text">
       <select name="action1person" OnChange="combAction1()">
            <option value="Person 1">Person 1</option>
            <option value="Person 2">Person 2</option> 
            <option value="Person 3">Person 3</option> 
            <option value="Person 4">Person 4</option> 
       </select>
       <input type="hidden" id="item_name" name="item_name" value="item_name">
       <a href="#" onclick="document['action1'].submit()">Submit</a>
</form>

1 Ответ

0 голосов
/ 14 февраля 2011
<script type="text/javascript">
        function combAction1(frm)
        {
            var action1person = frm.action1person.value;
            var action1action = frm.action1action.value;
            frm.item_name.value = action1person + ", " + action1action;
        }
</script>

<form name="action1" action="https://www.paypal.com/cgi-bin/webscr" onsubmit="combAction1(this.form);">
..
..
<input type="submit" />
</form>

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

document.forms[0].fieldName
...