Javascript Facebook应用程序表单赢得';不要屈服
好的,我在我的网站上使用了这个电子邮件注册表。我直接从电子邮件管理系统获得脚本,因为他们是处理表单的人 我在我的网站上使用它,它工作得很好,但当我尝试在Facebook应用程序中运行相同的脚本时,它无法提交。事实上,这并不是严格意义上的正确,因为如果不进行检查,它会弹出“您需要同意条款…”的对话框,但不会进一步 我已经在浏览器中测试过了,它运行正常,所以我知道代码没有问题,我只是对它为什么不能在Facebook上运行感到困惑 下面是脚本在页面上的显示方式Javascript Facebook应用程序表单赢得';不要屈服,javascript,facebook,forms,facebook-apps,Javascript,Facebook,Forms,Facebook Apps,好的,我在我的网站上使用了这个电子邮件注册表。我直接从电子邮件管理系统获得脚本,因为他们是处理表单的人 我在我的网站上使用它,它工作得很好,但当我尝试在Facebook应用程序中运行相同的脚本时,它无法提交。事实上,这并不是严格意义上的正确,因为如果不进行检查,它会弹出“您需要同意条款…”的对话框,但不会进一步 我已经在浏览器中测试过了,它运行正常,所以我知道代码没有问题,我只是对它为什么不能在Facebook上运行感到困惑 下面是脚本在页面上的显示方式 <form action="htt
<form action="http://www.elabs12.com/functions/mailing_list.html" method="post" name="UPTml807" onSubmit="return (!(UPTvalidateform(document.UPTml807)));">
<input type="hidden" name="submitaction" value="3">
<input type="hidden" name="mlid" value="807">
<input type="hidden" name="siteid" value="2012000210">
<input type="hidden" name="tagtype" value="q2">
<input type="hidden" name="demographics" value="1,2,-1,40836,37592">
<input type="hidden" name="redirection" value="http://www.MYWEBISTE.com/WebContent/Promotions/PromotionsNewEmailThanks.htm">
<input type="hidden" name="uredirection" value="http://">
<input type="hidden" name="welcome" value="">
<input type="hidden" name="double_optin" value="">
<input type="hidden" name="append" value="on">
<input type="hidden" name="update" value="on">
<input type="hidden" name="activity" value="submit">
<div class="textfield">
<table border="0" cellspacing="0" cellpadding="5" width="100%">
<tr>
<td><span class="formText">Your First Name*</span><br/><input type="text" name="val_1" class="firstName" size="10" value="" /></td>
<td><span class="formText">Your Last Name*</span><br/><input type="text" name="val_2" class="lastName" size="10" value="" /></td>
</tr>
<tr>
<td colspan="2"><span class="formText">Your Email*</span><br/><input type='text' name='email' class="email" value='' style='display:block'/></td>
</tr>
<tr>
<td colspan="2"><span class="formText">Your Mobile Number</span><br/>
<input type='text' name='val_3' class="mobile" value='' style='display:block'/></td>
</tr>
<tr>
<td><div style="text-align:left; margin:0 0 20px 0px"><input type="checkbox" id="val_37592" name="val_37592" style="width:20px; height:10px;">
<span class="formText">I accept your Privacy Policy (below)*</span><br/><br/><span style="font-size:12px !important;" class="formText">*Required field</span></div></td>
<td align="right"><input type="submit" name="submit" value="Submit" class="submitBTN" /></td>
</tr>
</table>
</div>
<script language="Javascript">
function emailCheck (emailStr) {
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
alert("Email address seems incorrect (check @ and .'s)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
if (user.match(userPat)==null) {
alert("The username doesn't seem to be valid.");
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!");
return false;
}
}
return true;
}
var domainArray=domain.match(domainPat);
if (domainArray==null) {
alert("The domain name doesn't seem to be valid.");
return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if ((domArr[domArr.length-1] != "info") &&
(domArr[domArr.length-1] != "name") &&
(domArr[domArr.length-1] != "arpa") &&
(domArr[domArr.length-1] != "coop") &&
(domArr[domArr.length-1] != "aero")) {
if (domArr[domArr.length-1].length<2 ||
domArr[domArr.length-1].length>3) {
alert("The address must end in a three-letter domain, or two letter country.");
return false;
}
}
if (len<2) {
var errStr="This address is missing a hostname!";
alert(errStr);
return false;
}
return true;
}
function UPTvalidateform(thisform)
{
if (document.getElementById("val_37592").checked==false){alert("Please let us know you have read and agree to the Terms and Conditions of this email alert sign up"); return(true);}
if (thisform.val_1.value==""){
alert("Please enter a value for First Name");
return(true);}if (thisform.val_2.value==""){
alert("Please enter a value for Last Name");
return(true);}
if (emailCheck(thisform.email.value))
{
if ((document.getElementById('unsubscribe')
&& document.getElementById('unsubscribe').checked) && (document.getElementById('showpopup') && document.getElementById('showpopup').value == "on")) {
alert('Thank you, now you are unsubscribed!');
}
else if(( (document.getElementById('unsubscribe')
&& !document.getElementById('unsubscribe').checked) || (!document.getElementById('unsubscribe')) ) && (document.getElementById('showpopup') && document.getElementById('showpopup').value == "on")){
alert('Thank you for signing up!');
}
return false;
}
else
{
return true;
}
}
</script>
</form>
您的名字*
您的姓*
您的电子邮件*
您的手机号码
我接受您的隐私政策(以下)*
*必填字段
功能emailCheck(emailStr){
var emailPat=/^(+++@(+++$/;
var specialChars=“\\(\\)@;”:\\\\\\\\\\\\\\\\\\\”\.\[\]”;
var validChars=“\[^\\s”+specialChars+“\]”;
var quotedUser=“(\”[^\“]*\”);
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars++;
var word=“(“+atom+”|“+quotedUser+”)”;
var userPat=new RegExp(“^”+word+”(\\\.“+word+”*$”);
var domainPat=new RegExp(“^”+atom+”(\\\.“+atom+”*$”);
var matchArray=emailStr.match(emailPat);
if(matchArray==null){
警报(“电子邮件地址似乎不正确(请勾选@and.s)”;
返回false;
}
var user=matchArray[1];
var domain=matchArray[2];
if(user.match(userPat)==null){
警报(“用户名似乎无效。”);
返回false;
}
var IPArray=domain.match(ipDomainPat);
如果(IPArray!=null){
对于(变量i=1;i255){
警报(“目标IP地址无效!”);
返回false;
}
}
返回true;
}
var domainArray=domain.match(domainPat);
if(domainArray==null){
警告(“域名似乎无效。”);
返回false;
}
var atomPat=新的RegExp(原子,“g”);
var domArr=domain.match(atomPat);
var len=多玛长度;
if((domArr[domArr.length-1]!=“info”)&&
(domArr[domArr.length-1]!=“name”)&&
(domArr[domArr.length-1]!=“arpa”)&&
(domArr[domArr.length-1]!=“coop”)&&
(domArr[domArr.length-1]!=“aero”)){
if(domArr[domArr.length-1].length3){
警报(“地址必须以三个字母的域或两个字母的国家/地区结尾。”);
返回false;
}
}
如果(len您提交的url必须在应用程序详细信息中注册。请尝试在facebook开发者中更改应用程序域
此外,如果您在安全模式(默认设置)下浏览facebook,它将阻止来自非ssl URL的所有内容