webForumDet fria alternativet

kontroll så alla nödvändiga fält är ifyllda

JavaScript

7 svar · 320 visningar · startad av hildurblad

Medlem sedan maj 2003107 inlägg
Frågan#1

Hej,

Jag har testat lite olika javascript för att kunna utföra en kontroll så att alla nödvändiga fält i mitt formulär är ifyllda. Men tyvärr får jag det inte att funka, känner mig lite lätt snurrig.

Kolla på http://www.predator.nu/fkontakt2.htm

Alla fält som är markerade med * måste fyllas i. Hur skall jag göra? Någon som har ett script att dela med sig av? :OO

Tackar!

Medlem sedan sep. 20021 655 inlägg
#2

Ett namn (t ex <input name="x">) får inte börja på en siffra.

<script type="text/javascript">
function validate(theForm){
  if(theForm.elements['foretag'].value=="")
    return false;
  if(theForm.elements['namn'].value=="")
    return false;
  if(theForm.elements['telefon'].value=="")
    return false;
  if(theForm.elements['e-post'].value=="")
    return false;

  return true;
}
</script>

...

  <form action="/cgi-bin/formmail" method="post" onsubmit="return validate(this)">
    <input type="hidden" name="TO" value="bjorndottir@hotmail.com">
    <input type="hidden" name="SUBJECT" value="Intresseanmälan [url]www.predator.nu[/url]">
    <input type="hidden" name="FROM" value="info@predator.nu">
	<input type="hidden" name="NEXT" value=http://www.predator.nu/tack2.htm>
    <table style="border-collapse: collapse" width="417" border="1" bordercolor="#000000" align="left">
      <tr> 
        <td> 
          <table border="0" cellpadding="10" cellspacing="1" bgcolor="#608CB1" align="left" width="391">
            <tr> 
              <td bgcolor="#608CB1" colspan="4" height="53"> <br>
                <table width="444" border="0" cellspacing="5" cellpadding="5" bgcolor="#43729A">
                  <tr> 
                    <td><b><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif">Kontakta 
                      oss - f&ouml;retag</font></b></td>
                  </tr>
                </table>
                <br>
                <span class="unnamed1"> &nbsp;</span><span class="unnamed2">Textf&auml;lt 
                markerade med * m&aring;ste fyllas i f&ouml;r att formul&auml;ret 
                skall kunna skickas.</span></td>
            </tr>
            <tr> 
              <td bgcolor="#608CB1" width="185"> 
                <div align="left"><font size="1" color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif">*F&ouml;retag:</font></b></font><br>
                  <input type="text" name="foretag" class="kantlinje" size="30">
                </div>
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
              <td bgcolor="#608CB1" width="200"><font face="Verdana,Arial,Helvetica" size="1"><b>*Namn:</b></font><br />
                <input type="text" name="namn" class="kantlinje" size="30" />
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
            </tr>
            <tr> 
              <td width="185"> 
                <div align="left"><font face="Verdana,Arial,Helvetica" size="1"><b>Adress:</b></font><br />
                  <input type="text" name="adress" class="kantlinje" size="30" />
                  <font color="#000000"><b> </b> </font> </div>
              </td>
              <td width="4">&nbsp;</td>
              <td width="200"> 
                <div align="left"><font color="#000000"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Postadress:<br>
                  <input type="text" name="postadress" class="kantlinje" size="30">
                  </font></b></font></div>
              </td>
              <td width="4">&nbsp;</td>
            </tr>
            <tr> 
              <td bgcolor="#608CB1" width="185"> 
                <div align="left"><b><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">*Telefon:<br>
                  <input type="text" name="telefon" class="kantlinje" size="30">
                  </font></b></div>
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
              <td bgcolor="#608CB1" width="200"> 
                <div align="left"><b><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Mobiltelefon:<br>
                  <input type="text" name="mobilnummer" class="kantlinje" size="30">
                  </font></b></div>
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
            </tr>
            <tr bgcolor="#608CB1"> 
              <td width="185"> 
                <div align="left"><b><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">Eventuellt 
                  faxnummer:<br>
                  <input type="text" name="faxnummer" class="kantlinje" size="30">
                  </font></b></div>
              </td>
              <td width="4">&nbsp;</td>
              <td width="200"> 
                <div align="left"><b><font size="1" color="#000000" face="Verdana, Arial, Helvetica, sans-serif">*E-mail:</font></b><br>
                  <input type="text" name="e-post" size="30" class="kantlinje">
                </div>
              </td>
              <td width="4">&nbsp;</td>
            </tr>
            <tr bgcolor="#608CB1"> 
              <td width="185"> 
                <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><br>
                  Ca antal personer:<br>
                  <input type="text" name="antal_personer" class="kantlinje" size="30">
                  </b></font></div>
              </td>
              <td width="4">&nbsp;</td>
              <td width="200">&nbsp;</td>
              <td width="4">&nbsp;</td>
            </tr>
            <tr> 
              <td bgcolor="#608CB1" colspan="4"> 
                <div align="left"><font color="#000000" size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>Vi 
                  &auml;r intresserade av:<br>
                  <textarea name="intresserade_av" cols="50" rows="4" class="kantlinje"></textarea>
                  </b></font></div>
              </td>
            </tr>
            <tr> 
              <td bgcolor="#608CB1" width="185"> 
                <div align="left"> 
                  <input type="submit" name="submit" value="Skicka" class="skicka_knapp">
                  <input type="reset" name="reset" value="Rensa" class="skicka_knapp">
                  <br>
                  <br>
                </div>
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
              <td bgcolor="#608CB1" width="200"> 
                <div align="right"><a href="javascript:window.close()">&lt;&lt;- 
                  St&auml;ng detta f&ouml;nster</a><br>
                </div>
              </td>
              <td bgcolor="#608CB1" width="4">&nbsp;</td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
  </form>
Medlem sedan sep. 20026 425 inlägg
#3

I head:

<script language="Javascript" type="text/javascript">
<!--
function kolla(){
if (document.formnamn.namn.value==""){
alert("Ni måste ange ert namn..");
return false;
} else if (document.formnamn.epost.value==""){
alert("Ni måste skriva er e-postadress");
return false;
}
}
//-->
</script>

i body:

<form name="formnamn" method="post" onsubmit="return kolla();">
Namn: <input type="text" name="namn" />
<br />E-post: <input type="text" name="epost" />
<br /><input type="submit" value="Ok" />
</form>

Ändra bara namn så att de passar dina fält. :D

Medlem sedan sep. 20026 425 inlägg
#4

Hehe, dectgap hann före och hans kod är nog lite mer passande. ;)

Medlem sedan maj 2003107 inlägg
#5

varför?

Hej!

Varför får inte ett "input name" börja med en siffra?

Medlem sedan maj 2003107 inlägg
#6

komplettera scriptet!?

Tack dectgap för din hjälp! Scriptet funkade bra. Men går det att komplettera det här scriptet så att en ruta kommer upp som säger vad man har missat att fylla i?

Medlem sedan sep. 20021 655 inlägg
#7

Visst går det att komplettera skriptet med alert-rutor:

<script type="text/javascript">
function validate(theForm){
  if(theForm.elements['foretag'].value==""){
    alert("Du glömde företag.");
    return false;
  }
  if(theForm.elements['namn'].value==""){
    alert("Du glömde namn.");
    return false;
  }
  if(theForm.elements['telefon'].value==""){
    alert("Du glömde telefon.");
    return false;
  }
  if(theForm.elements['e-post'].value==""){
    alert("Du glömde e-post.");
    return false;
  }

  return true;
}
</script>

Följande finns att läsa på http://www.w3.org/TR/REC-html40/types.html#type-cdata :

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

Medlem sedan maj 2003107 inlägg
#8

Tackar!

Hej å tack så mycket. Nu fungerar det precis så som jag ville ha det! :)

268 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)