webForumDet fria alternativet

formulärproblem i IE6

2 svar · 220 visningar · startad av closecut

closecutMedlem sedan sep. 200310 inlägg
#1

jag blir galen snart....

i html-filen:

<head>
<script language="JavaScript" src="js1.js"></script>

>snip<

<form action="newsltr.php" method="post" name="theform" onSubmit="return validate()">
<table border="0" cellpadding="4" cellspacing="0" align="center" style="border: thin dashed white">
<tr>
 <td valign="top" align="right" bgcolor="#000000"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF"><br>
Namn: <input type="text" name="namn"></font>
 </td>
</tr>
<tr>
 <td valign="top" align="right" bgcolor="#000000"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
epost: <input type="text" name="email"></font>
 </td>
</tr>
<tr>
 <td valign="top" align="center" bgcolor="#000000"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
(f&ouml;r att avsluta din pren, skriv ditt id-nummer nedan)<br>
<input type="text" name="id"></font>
 </td>
</tr>
<tr>
 <td valign="top" align="center" bgcolor="#000000"><font face="Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">
<select name="act">
<option value="add" selected>Lägg till
<option value="del">Ta bort
</select><br>
<input type="submit" name="send" value=">skicka<" onClick="this.disabled='disabled';"><br><br>

<a href="javascript:self.close()" title="stäng fönstret">st&auml;ng f&ouml;nstret</a><br><br>
</font></td>
</tr>
</table>
</form>

js1.js:

function isEmail(string) {
  if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
    return true;
  else
    return false;
}

function validate(theform) {
  if((document.theform.act.value=="del") && (isEmail(document.theform.email.value)==false))
  {
    alert("Du måste ange en e-postadress!");
    document.theform.email.focus();
    document.theform.send.disabled=false;
    return false;
  }
  if((document.theform.act.value=="del") && (document.theform.id.value==""))
  {
    alert("Du måste ange ditt id-nummer!");
    document.theform.id.focus();
    document.theform.send.disabled=false;
    return false;
  }
  if((document.theform.act.value=="add") && (document.theform.namn.value==""))
  {
    alert("Du måste ange ditt namn!");
    document.theform.namn.focus();
    document.theform.send.disabled=false;
    return false;
  }
  if((document.theform.act.value=="add") && (isEmail(document.theform.email.value)==false))
  {
    alert("Du måste ange en e-postadress!");
    document.theform.email.focus();
    document.theform.send.disabled=false;
    return false;
  }
}

funkar precis som jag vill i firebird, men i explorer är det enda som händer att submit-knappen blir disablad.

kan någon hjälpa mig hitta felet?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Troligen uppfattar IE onsubmit före onclick för submiten.
Pröva detta:
Ta bort onclicken.

 
<input type="submit" name="send" value=">skicka<" ><br><br>

och lägg den i validate:

 
function validate(theform) {
  document.theform.send.disabled=true;
  if((document.theform.act.value=="del") && (isEmail(document.theform.email.value)==false))
  {
...
closecutMedlem sedan sep. 200310 inlägg
#3

ååååhhhhh

tack som tusan nitro, du är en hjälte! :D

128 ms totalt · 3 externa anrop · v20260731065814-full.16f3d68c
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)