Javascript 检查marketo表单中的文本字段以获取可接受的URL';s
我有一个Marketo表单,其中有一个字段名为sharedURL。我将其设置为文本字段,因为URL字段限制性太强,因为您可能会选择guest,这是一个允许用户输入URL的字段。在转到定义的登录页之前,该字段应仅接受某些域。让我们假设唯一可接受的域是www.marketo.com等(域的所有变体)。我在各种外部网站和marketo网站上查看了多个建议的解决方案,但无法调整代码以满足我的需求。这就是我得到的(插入到引导登录页模板的HTML中)我的表单和字段详细信息(如果需要)。我的解决方案不起作用。。。感谢您的帮助 “Id”:6466,“名称”:“sharedURL”,“数据类型”:“字符串”,“最大长度”:512,”Javascript 检查marketo表单中的文本字段以获取可接受的URL';s,javascript,forms,marketo,Javascript,Forms,Marketo,我有一个Marketo表单,其中有一个字段名为sharedURL。我将其设置为文本字段,因为URL字段限制性太强,因为您可能会选择guest,这是一个允许用户输入URL的字段。在转到定义的登录页之前,该字段应仅接受某些域。让我们假设唯一可接受的域是www.marketo.com等(域的所有变体)。我在各种外部网站和marketo网站上查看了多个建议的解决方案,但无法调整代码以满足我的需求。这就是我得到的(插入到引导登录页模板的HTML中)我的表单和字段详细信息(如果需要)。我的解决方案不起作用。
(函数(){
//只能使用的域
var有效电源=[
'https://info.marketo.com',
'https://www.marketo.com',
'http://www.marketo.com',
“info.marketo.com”,
“www.marketo.com”,
],
MktoForms2.whenReady(函数(形式){
onValidate(函数(){
var url=form.vals().sharedull;
如果(url){
如果(!isurlGood(url)){
表格。可提交(假);
var urleem=form.getFormElem().find(“#sharedull”);
form.Message(“您必须使用经批准的域。”,urleem);
}否则{
表格。可提交(真实);
}
}
});
});
函数isurlGood(url){
对于(变量i=0;i
如果您的代码格式正确,则更容易识别错误。我已经为您设置了格式,但您应该养成经常编写格式代码的习惯。谢谢Mike,感谢您的努力!我怀疑您在从表单捕获url时遇到了问题。
(function() {
// Domains that can only be used
var validDomains = [
'https://info.marketo.com',
'https://www.marketo.com',
'http://www.marketo.com',
'info.marketo.com',
'www.marketo.com',
],
MktoForms2.whenReady(function(form) {
form.onValidate(function() {
var url = form.vals().sharedURL;
if (url) {
if (!isurlGood(url)) {
form.submitable(false);
var urlElem = form.getFormElem().find("#sharedURL");
form.showErrorMessage("You must use an approved Domain.", urlElem);
} else {
form.submitable(true);
}
}
});
});
function isurlGood(url) {
for (var i = 0; i < validDomains.length; i++) {
var domain = validDomains[i];
if (url.indexOf(domain) != -1) {
return false;
}
}
return true;
}
})();