ugrás a tartalomhoz

onmouseover submit gombon

Blackfriar · 2006. Ápr. 14. (P), 17.39
Segítsetek mi lehet az oka annak, hogy az alábbi kód IE alatt OK,

FF esetén több alert ablak is bejön és villódzik az ablak.
<script type="text/javascript">
function check(){
if(document.vk.nev.value=="" && document.vk.uzenet.value=="") {alert("Nem adott meg nevet és üzenetet sem írt !")}
   else {if(document.vk.nev.value=="") {alert("Nem adott meg nevet !")} 
	else {if(document.vk.uzenet.value=="") {alert("Nem írt üzenetet !")}}}}
</script>
</head>
<body>
<form name="vk" action="guestbook.php" method="post">
<table align="center" border="1" cellpadding="0" cellspacing="0">
<tr><td align="center">
<table bgcolor="#e8eeee" border="0" cellpadding="2" cellspacing="2">
<tr><td><b>név:</b></td><td><input type="text" size="40" maxlength="60" name="nev"></td></tr>
<tr><td><b>e-mail:</b></td>
<td><input type="text" size="40" maxlength="60" name="mail"></td></tr>
<tr><td><b>üzenet:</b></td><td><textarea cols="65" rows="6" name="uzenet"></textarea></td></tr>
<tr><td></td><td align="center"><input class="gomb" type="submit" value="Elküld" onmouseover="check()" /><input type="text" size="10" style="visibility:hidden" /><input class="gomb" type="reset" value="Mégse" /></td></tr>
</table>
</td></tr>
</table>
</form>
 
1

Próbáld így

Anonymous · 2006. Ápr. 14. (P), 17.51
function check() {
 if(document.vk.nev.value=="") {
  alert("Nem adott meg nevet !");
  document.vk.nev.focus();
  return false;
 }
 if(document.vk.uzenet.value=="") {
  alert("Nem írt üzenetet !");
  document.vk.uzenet.focus();
  return false;
 }
 else {
  document.vk.submit();
 }
}
2

--

Blackfriar · 2006. Ápr. 14. (P), 18.14
Hát a probléma ugyanaz sajna.

Azért köszi a segítséget.

Egyéb ötlet?
3

onmouseover?

Táskai Zsolt · 2006. Ápr. 14. (P), 20.23
ez azért durván hangzik. amíg felette állok, addig alerteket dobál? vagy mi itt a cél? a form onsubmitjára szoktak validálni, bár nyilván elképzelhető, hogy neked valami speciálisabb igényt kell kiszolgálni, akkor nem szóltam.
Tasi
4

--

Blackfriar · 2006. Ápr. 14. (P), 20.28
egyszerűen csak azt szerettem volna, hogy a form elküldése előtt lecsekkeljem, hogy minden mező ki van-e töltve.

mellesleg akkor valaki azt magyarázza már el a primitív agyamnak, hogy IE alatt miért működik???????
6

Nekem működik..

Anonymous · 2006. Ápr. 14. (P), 20.39
..firefox alatt is rendesen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <script type="text/javascript">
    function check() {
      if(document.vk.nev.value=="") {
        alert("Nem adott meg nevet !");
        document.vk.nev.focus();
        return false;
      }
      if(document.vk.uzenet.value=="") {
        alert("Nem írt üzenetet !");
        document.vk.uzenet.focus();
        return false;
      }
      else {
        document.vk.submit();
      }
    }
    </script>
  </head>
  <body>
    <form name="vk" action="guestbook.php" method="post">
      <table align="center" border="1" cellpadding="0" cellspacing="0">
        <tr>
          <td align="center">
            <table bgcolor="#e8eeee" border="0" cellpadding="2" cellspacing="2">
              <tr>
                <td>
                  <b>név:</b>
                </td>
                <td>
                  <input type="text" size="40" maxlength="60" name="nev">
                </td>
              </tr>
              <tr>
                <td>
                  <b>e-mail:</b>
                </td>
                <td>
                  <input type="text" size="40" maxlength="60" name="mail">
                </td>
              </tr>
              <tr>
                <td>
                  <b>üzenet:</b>
                </td>
                <td>
                  <textarea cols="65" rows="6" name="uzenet"></textarea>
                </td>
              </tr>
              <tr>
                <td>
                </td>
                <td align="center">
                  <input class="gomb" type="submit" value="Elküld" onMouseOver="check()" />
                  <input type="text" size="10" style="visibility:hidden" />
                  <input class="gomb" type="reset" value="Mégse" />
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </form>
  </body>
</html>
8

--

Blackfriar · 2006. Ápr. 14. (P), 21.47
Kedves Anonymous!

Be copy-paste-teltem az általad megadottakat. Nem működik. Ugyanazt csinálja, mint az én eredeti kódom. De nyílván én vagyok a hülye.
5

onsubmit, szabványos JS

Hodicska Gergely · 2006. Ápr. 14. (P), 20.31
Az ilyen fajta ellenőrzésekre az onsubmit esemény használatos.
<form name="vk" action="guestbook.php" method="post" onsubmit="return check()">
Ilyenkor ha a check függvényben true-val térsz vissza, akkor a form elküldésre kerül, ha false-szal, akkor nem.

Ezenkívül ajánlom Neked, hogy a form elemeit szabványos módon érd el (valószínűleg ennek hiánya okozta az FF alatti rossz működést): document.forms['vk'].elements['uzenet']. Így mindegyik böngészőben működni fog.


Felhő
7

--

Blackfriar · 2006. Ápr. 14. (P), 21.40
Kedves Gergely!

Úgy tűnik az onsubmit a megoldás. Köszönet a segítségért!!!!