在提交时向表单字段添加前缀(使用JS)

时间:2011-03-16 10:04:01

标签: javascript html forms webforms salesforce

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

更新后的值将被传递。

如果有人可以给我JavaScript功能,我将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分: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来查找该字段。


偏离主题:如果您使用jQueryPrototypeYUI,{{3}等库,很多这些内容会容易得多},或Closure。它们可以消除上面的addEventListener / attachEvent之类的浏览器差异,并添加许多有用的实用功能。

例如,使用jQuery,上面的内容如下:

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