Autor Zpráva
ondra15
Profil
Ahoj, mám problém s předáním proměnné z JS do PHP.
Mám v JS kod:
 <script type="text/javascript">
         function showBox(frm) {
          var zprava = "";
             for(i=0 ; i < frm.znacka.length ; i++) 
              if(frm.znacka[i].checked) {
                zprava = zprava + frm.znacka[i].value + "\n";
                  } 
              alert(zprava);  
              if(zprava == "") {
               alert("Prazdny retezec");
                 }
               else {
                alert("Neco je vybrano");
                  }
              }
    </script>
kterým kontroluju, zda je zatržen nějaký checkbox. Pokud Ano, vypíše se jeho value a ještě se testuje zda je proměnná zprava prázdná nebo ne (pro vlastní potřebu).
<form action="/odeslano.php" method="post" name="auto">
         <input type="checkbox" name="znacka" value="Alfa"> Alfa
          <input type="checkbox" name="znacka" value="BMW"> BMW
           <input type="checkbox" name="znacka" value="Citroen"> Citroen
            <input type="checkbox" name="znacka" value="Ford"> Ford
            <input type="checkbox" name="znacka" value="Honda"> Honda
            <input type="checkbox" name="znacka" value="Jaguar"> Jaguar
             <input type="submit" value="Odeslat" onClick="return showBox(this.form)">         
         </form>
A já do PHP části v odeslano.php (nová stránka) potřebuji předat proměnnou zprava ve které bude výpis zatržených checkboxů.
Dokázal by mi někdo poradit funkční řešení a polopatě mi ho vypsat? Jak jsem pročítal zdejší forum, tak vidím, že možnosti jsou omezené. Předem díky
Kubo2
Profil
[#1] ondra15:
Aký máš dôvod odovzdávať premennú zprava do PHP? Prečo ten formulár jednoducho neodošleš normálnou cestou a nespracuješ pomocou PHP?
ondra15
Profil
Kubo2:
A to by bylo jak? Když mám stejná jména u inputů, jak zjistím počet zatržených (jednotlivé value) těch inputů?
Kubo2
Profil
Ak máš inputy typu checkbox (alebo akékoľvek iné s rovnakým name - okrem radio buttonov), mal by si mať taký zvyk, že name píšeš postfixované dvoma hranatými zátvorkami (PHP si z takého zápisu vytvorí pole):
<input type="checkbox" name="znacka[]" value=1> opel
<input type="checkbox" name="znacka[]" value=2> jaguar
<!-- atd. -->
Toto pole sa dá potom normálne prechádzať pomocou cyklov - jediná nevýhoda, že nezistíš, ktoré inputy neboli zaškrtnuté, pretože tie sa pehapku nepošlú.
aDAm
Profil
Chtělo by to nastudovat základy práce s formuláři...
ondra15
Profil
Kubo2:
Nyní vzniknul problém s hranatými závorkami, který řeším v tomto vlákně. Něvěděl byste, kde by mohla být chyba? Děkuji

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: