Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem!
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
djair
Witam...mam formularz w html...i chcilbym zrobic tak aby po nacisnieciu klawisza ENTER kursor przeskakiwal mi do nastepnego pola formularza a nie submitowal ...prosze o pomoc...
kszychu
Tak to tylko w erze....
A poważnie, możesz zrobić, by po naciśnięciu entera formularz nie był wysyłany; w formularzu wystarczy pominąć przycisk <input type=submit> i zastąpić go jakimś buttonem realizującym submit().
Ale żeby po naciśnięciu entera przeszło do kolejnego pola?... Tak się chyba nie da. To realizuje tabulator.
FiDO
Da sie.. najpierw trzeba zdarzenie wcisniecia klawisza na kazdym inpucie, do tego prawdopodobnie tez zdarzenie onsubmit w formularzu. Samo przechodzenie miedzy polami to juz pikus.. majac obiekt formularza mozemy iterowac po jego elementach za pomoca tablicy form.elements i wywolywac na odpowiednim metode focus().
djair
Ok...zeby bylo jasniej wklej kawalek kodu ...w tym formularza uzywam juz J'skrypow...prosze pomoc mi go tak zmodyfikowac aby przechodzil enter do nastepnego pola ...


Kod
<script language="JavaScript">
function sprawdz(formularz)
{
  np=formularz.nat_przep_q_2.value;
  wsk=formularz.wsk_kon_2.value;
  wsw=formularz.wsk_wz_2.value;
  wskw=formularz.wsk_kon_wod_2.value;
  wskpvn1=formularz.wsk_pocz_vn1_2.value;

  np2=formularz.nat_przep_q_2.value;
  wsk2=formularz.wsk_kon_2.value;
  wsw2=formularz.wsk_wz_2.value;
  wskw2=formularz.wsk_kon_wod_2.value;
  wskpvn12=formularz.wsk_pocz_vn1_2.value;


  if(np=="" || wsk=="" || wsw=="" ||  wskw=="" || wskpvn1==""  || np2=="" || wsk2=="" || wsw2=="" ||  wskw2=="" || wskpvn12=="")
  {
    window.alert("Uzupełnij dane!");

      if (np=="") formularz.nat_przep_q.focus();
         else if(wsk=="") formularz.wsk_kon.focus();
          else if(wsw=="") formularz.wsk_wz.focus();
          else if(wskw=="") formularz.wsk_kon_wod.focus();
           else if(wskpvn1=="") formularz.wsk_pocz_vn1.focus();

              else if(wskw2=="") formularz.wsk_kon_wod_2.focus();
                 else  formularz.wsk_pocz_vn1_2.focus();


    return false;
  }
  else
    return true;
}

function format_kodu(pole)
{
  wyr_reg=/[^a-z]$/;
  poprawny=wyr_reg.test(pole.value);
  if(!poprawny)
  {
    alert("Zły format kodu!");
    pole.focus();
    return false;
  }
  else
    return true;
}
</script>

<form action="s32p.php" method="post" onsubmit="return sprawdz(this)">
<? include('info.php');
?>
<fieldset title="Przepływomierze"><legend align="bottom"><u>SPRAWDZENIE PRZEPŁYWOMIERZA</u></legend>

<table border="0" align="center">
<tr><td>
<fieldset title="przeplyw"><legend align="bottom"><u>Podaj dane:</u></legend>
<table border="0"><tr><th>
Natężenie przepływu q </th><td><input type="text" name="nat_przep_q" size="5" onblur="format_kodu(this)">
dm<sup>3</sup>/h <br> </td><tr><th>
Wskazania koncowe H<sub>2</sub></th><td><input type="text" name="wsk_kon" size="5" onblur="format_kodu(this)"> dz.ele.<br></td>
<tr><th>Wskazania wzorca V<sub>p2</sub></th><td><input type="text" name="wsk_wz" size="5" onblur="format_kodu(this)"> dm<sup>3</sup><br></td>
</td></tr></table>   </fieldset></table>
<p align="center"><u><b><font color='white'>Wykonujesz pomiar dla przepływomierza:</font></b></u> <?
echo '<p1>'.$HTTP_SESSION_VARS['id'].' - '.$HTTP_SESSION_VARS['id1'].' - '.$HTTP_SESSION_VARS['id2'].'</p1>.'; ?> </p>
<fieldset title="Pomiar I"><legend align="bottom"><u>Pomiar I</u></legend>
<b>Wskazania koncowe V<sub>n2</sub></b><input type="text" name="wsk_kon_wod" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
<b>Wskazania poczatkowe V<sub>n1</sub></b><input type="text" name="wsk_pocz_vn1" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
</fieldset>
<p align="center"><u><b><font color='white'>Wykonujesz pomiar dla przepływomierza:</font></b></u> <?
echo '<p1>'.$HTTP_SESSION_VARS['id_2'].' - '.$HTTP_SESSION_VARS['id1_2'].' - '.$HTTP_SESSION_VARS['id2_2'].'</p1>.'; ?> </p>
<fieldset title="Pomiar I"><legend align="bottom"><u>Pomiar I</u></legend>
<b>Wskazania koncowe V<sub>n2</sub></b><input type="text" name="wsk_kon_wod_2" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
<b>Wskazania poczatkowe V<sub>n1</sub></b><input type="text" name="wsk_pocz_vn1_2" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
</fieldset>
<p align="center"><u><b><font color='white'>Wykonujesz pomiar dla przepływomierza:</font></b></u> <?
echo '<p1>'.$HTTP_SESSION_VARS['id_3'].' - '.$HTTP_SESSION_VARS['id1_3'].' - '.$HTTP_SESSION_VARS['id2_3'].'</p1>.'; ?> </p>
<fieldset title="Pomiar I"><legend align="bottom"><u>Pomiar I</u></legend>
<b>Wskazania koncowe V<sub>n2</sub></b><input type="text" name="wsk_kon_wod_3" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
<b>Wskazania poczatkowe V<sub>n1</sub></b><input type="text" name="wsk_pocz_vn1_3" size="5" onblur="format_kodu(this)">dm<sup>3</sup><br>
</fieldset>
<p class="przyciski"><input type="submit" value="sprawdz" />
<input type="reset" value="reset" />
</fieldset>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.