2011-03-16 130 views
0

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

并且更新的值被传递。

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

在此先感谢。

+4

这是应该真正做服务器端......或者根本没有。如果你把我的标题弄错了,我会不会感到印象深刻。 – Quentin 2011-03-16 10:06:06

回答

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来查找领域。


题外话:如果你使用一个库像jQueryPrototypeYUIClosure,或any of several others很多这些东西都是要容易得多。它们消除了浏览器差异,如上面的addEventListener/attachEvent,并添加了许多有用的实用功能。

例如,使用jQuery,上面是这样的:

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

非常感谢您的帮助! – WebDDelhi 2011-04-09 19:02:54