我有一个简单的salesforce形式(使用Web-To-Lead)。 我想在其中添加一个JS,以便在提交表单时在“全名”字段的开头添加“Mr.”。
更新后的值将被传递。
如果有人可以给我JavaScript功能,我将不胜感激。
提前致谢。
答案 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来查找该字段。
偏离主题:如果您使用jQuery,Prototype,YUI,{{3}等库,很多这些内容会容易得多},或Closure。它们可以消除上面的addEventListener
/ attachEvent
之类的浏览器差异,并添加许多有用的实用功能。
例如,使用jQuery,上面的内容如下:
$('#theForm').submit(function() {
var fullName = this.elements.fullName;
fullName.value = 'Mr. ' + fullName.value;
});