du öppnar body-taggen i din recommend.htm fil men tränger den aldrig, den borde inte vara med där alls.
börja med att testa utan den.
4 svar · 562 visningar · startad av xtreme
Varför fungerar det inte att skicka formuläret samt att man inte får några varningar om man inte fyllt i alla fält? Dock funkar en vanligt länk som jag gjort från texten kompis (mest för att testa) samt att formuläret öppnas i min div i Opera men inte i IE.
Startsidan med en div som jag vill formuläret ska öppnas i:
<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
function replace() {
http.open("GET", "recommend.htm", true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('foo').innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
<p><a href="javascript:replace()">Replace Text</a></p>
<div style="width: 500px; height: 500px;" id="foo">
Hello, world!
</div>
Formuläret (recommend.htm) som öppnas i min div:
<script language="javascript">
<!--
function reset() {
document.tellafriend.name.value="";
document.tellafriend.email.value="";
document.tellafriend.fmail1.value="";
document.tellafriend.fmail2.value="";
}
function validate() {
if (document.tellafriend.fmail1.value.length==0) {
alert("Du glömde skriva din kompis E-mail");
return false;
}
if (document.tellafriend.email.value.length==0) {
alert("Du glömde skriva din E-mail");
return false;
}
if (document.tellafriend.name.value.length==0) {
alert("Du glömde skriva ditt namn");
return false;
}
document.tellafriend.submit()
return true;
}
//-->
</script>
</head>
<body onload="reset()">
<fieldset class="wrap">
<? $refurl = $_SERVER['HTTP_REFERER']; ?>
<? print $refurl;?>
<form name="tellafriend" action="tellafriend.php" method="post" onsubmit="return checkfields()">
<p class="loggain">Tipsa en <a href="test1.html">kompis</a>.</p>
<p>Fält märkta med * är obligatoriska.</p>
<p class="tipsleft">
* Ditt namn:<br />
<input size="25" name="name" maxlength="45" />
</p>
<p class="tipsright">
* Din mail:<br />
<input size="25" name="email" maxlength="45" />
</p>
<p style="clear: both;"> </p>
<p class="tipsleft">
* Din kompis mail:<br />
<input size="25" name="fmail1" maxlength="50" />
</p>
<p class="tipsright">
Din andra kompis mail:<br />
<input size="25" name="fmail2" maxlength="50" />
<br />
<br />
<input name="button" type="button" onclick="validate();" value="Skicka tipset" />
<input type=hidden name=refurl value="<? print $refurl;?>">
</p>
<p style="clear: both;"> </p>
</form>
</fieldset>
Koderna kommer ursprungligen från:
http://daniel.lorch.cc/docs/ajax_simple/
http://www.tamingthebeast.net/articles3/tell-a-friend-script.htm
du öppnar body-taggen i din recommend.htm fil men tränger den aldrig, den borde inte vara med där alls.
börja med att testa utan den.
The_Hulk skrev:
du öppnar body-taggen i din recommend.htm fil men tränger den aldrig, den borde inte vara med där alls.
börja med att testa utan den.
På min "riktiga" sida stänger jag den. Postar ett kodexemepl där jag har med <head><body> etc (som inte fungerar):
Startsidan som formuläret öppnas i:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Tipsa</title>
<script type="text/javascript">
var http = false;
if(navigator.appName == "Microsoft Internet Explorer") {
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}
function replace() {
http.open("GET", "recommend.htm", true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('foo').innerHTML = http.responseText;
}
}
http.send(null);
}
</script>
</head>
<body>
<p><a href="javascript:replace()">Replace Text</a></p>
<div style="width: 500px; height:500px;" id="foo">
Hello, world!
</div>
</body>
</html>
Formuläret (recommend.htm):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Rekomendera</title>
<script language="javascript">
function reset() {
document.tellafriend.name.value="";
document.tellafriend.email.value="";
document.tellafriend.fmail1.value="";
document.tellafriend.fmail2.value="";
}
function validate() {
if (document.tellafriend.fmail1.value.length==0) {
alert("Du glömde skriva din kompis E-mail");
return false;
}
if (document.tellafriend.email.value.length==0) {
alert("Du glömde skriva din E-mail");
return false;
}
if (document.tellafriend.name.value.length==0) {
alert("Du glömde skriva ditt namn");
return false;
}
document.tellafriend.submit()
return true;
}
</script>
</head>
<body onload="reset()">
<fieldset class="wrap">
<? $refurl = $_SERVER['HTTP_REFERER']; ?>
<? print $refurl;?>
<form name="tellafriend" action="tellafriend.php" method="post" onsubmit="return checkfields()">
<p class="loggain">Tipsa en <a href="test1.html">kompis</a>.</p>
<p>Fält märkta med * är obligatoriska.</p>
<p class="tipsleft">
* Ditt namn:<br />
<input size="25" name="name" maxlength="45" />
</p>
<p class="tipsright">
* Din mail:<br />
<input size="25" name="email" maxlength="45" />
</p>
<p style="clear: both;"> </p>
<p class="tipsleft">
* Din kompis mail:<br />
<input size="25" name="fmail1" maxlength="50" />
</p>
<p class="tipsright">
Din andra kompis mail:<br />
<input size="25" name="fmail2" maxlength="50" />
<br />
<br />
<input name="button" type="button" onclick="validate();" value="Skicka tipset" />
<input type=hidden name=refurl value="<? print $refurl;?>">
</p>
<p style="clear: both;"> </p>
</form>
</fieldset>
</body>
</html>
du bygger upp en felaktig sida.
du kan inte ha med html, head, body-taggar i sidan du läser in och klistrar in i div-taggen.
du kan ju testa att bara kopiera in all kod från recommend.htm till div-taggen och se hur det ser ut.