Добавить префикс в поле формы при отправке (используя JS) - PullRequest
0 голосов
/ 16 марта 2011

У меня есть простая форма продаж (Использование Web-To-Lead).Я хочу добавить в него JS, чтобы при отправке формы в начале поля «Полное имя» добавлялось «Мистер».

И обновленное значение будет передано.

Буду признателен, если кто-нибудь сможет просто дать мне функцию JavaScript.

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

1 Ответ

1 голос
/ 16 марта 2011

Как и Дэвид, я настоятельно рекомендую не делать этого. Если вы не разрешите пользователю указывать свой заголовок (и не ограничивать свой выбор), не используйте его вообще.

Если вы действительно, действительно, действительно хотите это сделать, и делать это на стороне клиента:

function addTitleOnSubmit(formId, fieldId) {
    var form = document.getElementById(formId);
    if (form.addEventListener) {
        form.addEventListener("submit", handleSubmit, false);
    }
    else if (form.attachEvent) {
        form.attachEvent("onsubmit", handleSubmit);
    }

    function handleSubmit() {
        form.elements[fieldId].value = "Mr. " + form.elements[fieldId].value;
    }
}

// Then hook it up wherever you do your init:
addTitleOnSubmit('theForm', 'fullName');

Он ищет элемент DOM формы по атрибуту id, а затем использует elements коллекцию элемента формы для поиска поля.


Не по теме : многие из этих вещей намного проще, если вы используете библиотеку, такую ​​как jQuery , Прототип , YUI Закрытие или любой из нескольких других . Они сглаживают различия в браузерах, такие как addEventListener / attachEvent и добавляют множество полезных служебных функций.

Например, с использованием jQuery вышеприведенное выглядит следующим образом:

$('#theForm').submit(function() {
    var fullName = this.elements.fullName;
    fullName.value = 'Mr. ' + fullName.value; 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...