Я делаю небольшую страницу "ты дашь мне свою электронную почту, я дам тебе УДИВИТЕЛЬНУЮ песню" для группы товарища. Я пытаюсь заставить работать простую проверку формы javascript (электронная почта) при отправке с помощью плагина jQuery Facebox. Я обнаружил, что вам нужно связать функцию проверки JS после , если Facebox открыт или не работает. Основа для этого изложена в документации по Facebox и должна выглядеть примерно так: $(document).bind('reveal.facebox', function() { ...stuff to do after the facebox and contents are revealed... })
. Как упоминалось ниже, я не думал, что это должно быть так, поскольку я думал, что Facebox показывает только скрытый элемент, включенный в CSS-параметры Facebox, но его обязательно нужно привязать к обработчику событий только при открытии Facebox.
Что ж, получается, что я просто не могу заставить его работать (за исключением Firefox, что означало, что отладка с Firebug была немного бесполезной!) - вы можете поместить любой старый gumpf в форму электронной почты и отправить его, и он с радостью отправит подтверждение «asdsdf» или что-то, что я набрал в то время.
Код ниже, я бы очень признателен за любую помощь в этом!
Спасибо за ваше время.
Рич
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Track download</title>
<meta name="image:Background" content="images/background.jpg" />
<link rel="stylesheet" type="text/css" href="reset-min.css" />
<link rel="stylesheet" type="text/css" href="facebox.css" />
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/facebox.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a[rel*=facebox]").facebox();
});
</script>
<script type="text/javascript">
function validateForm(){
var x=document.forms["emailForm"]["emailAddress"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
alert("Not a valid e-mail address");
return false;
}
});
</script>
</head>
<body>
<div id="wrapper">
<h1>Gorgeous George</h1><br />
<h2><a href="#user" rel="facebox">Download</a> our new track!</h2><br /><br />
<p>Follow us on <a href="http://gorgeousgeorgetheband.tumblr.com" target="_blank">Tumblr</a></p>
<p>Follow us on <a href="http://soundcloud.com/gorgeous-george-the-band" target="_blank">Soundcloud</a></p>
<div id="user">
<form action="index.php" method="post" name="emailForm" onsubmit="return validateForm();">
<fieldset>
<h3 class="black">Email Address:</h3><br />
<input id="emailAddress" id="emailForm" name="emailAddress" onfocus="(this.value == "Enter Email Address") ? this.value = "" : this.value" size="30" type="text" value="Enter Email Address" width="28" /><br />
<input type="submit" value="Submit" />
</fieldset>
</form>
</div> <img src="images/gorgeousGeorge.jpg" alt="Gorgeous George" class="mainImage" />
</div>
</body>
</html>