【问题标题】:Add prefix to form field on submit(Using JS)在提交时为表单字段添加前缀(使用 JS)
【发布时间】:2011-03-16 10:04:00
【问题描述】:

我有一个简单的销售人员形式(使用 Web-To-Lead)。 我想在其中添加一个 JS,以便在提交表单时在“全名”字段的开头添加“先生”。

并且更新的值被传递。

如果有人能给我 JavaScript 函数,我将不胜感激。

提前致谢。

【问题讨论】:

  • 这是真正应该在服务器端完成的事情......或者根本不做。如果你把我的标题弄错了,我不会印象深刻。

标签: javascript html forms webforms salesforce


【解决方案1】:

像大卫一样,我强烈建议不要这样做。除非您允许用户提供他们的标题(并且不限制他们的选择),否则根本不要使用。

如果您真的、真的、真的想这样做,并且在客户端进行:

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');

通过id 属性查找form's DOM element,然后使用表单元素的elements collection 查找字段。


题外话:如果你使用像jQueryPrototypeYUIClosureany of several others 这样的库,很多事情会变得容易得多。他们消除了浏览器的差异,比如上面的addEventListener / attachEvent,并添加了很多有用的实用功能。

例如,使用 jQuery,上面看起来像这样:

$('#theForm').submit(function() {
    var fullName = this.elements.fullName;
    fullName.value = 'Mr. ' + fullName.value; 
});

【讨论】:

    猜你喜欢
    • 2023-03-14
    • 2013-03-21
    • 2013-07-22
    • 1970-01-01
    • 2017-04-22
    • 2023-03-30
    • 2013-02-21
    • 2015-09-11
    • 1970-01-01
    相关资源
    最近更新 更多