Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [?] Jak usunąć zawartość pola tekstowego po odznaczeniu checkbox'a?
Forum PHP.pl > Forum > Przedszkole
Marr
Tak, to znowu ja. Tym razem mam problem taki: Mam formularz w którym pojawiają się pola tekstowe jeżeli checkbox w danym wierszu jest zaznaczony. Jeżeli go odznaczymy a później zaznaczymy jeszcze raz pokazuje nam się stara wartość. Da się jakoś wyczyścić zawartość tego pola tekstowego przy odznaczeniu checkboxa? Będę bardzo wdzięczny jeżeli ktoś mi podpowiem Mój kod który zawiera ten formularz wygląda tak:
  1. <?php
  2. $zapytanie = mysql_query("SELECT * FROM uslugi ORDER BY nazwa");
  3.            while($wynik = mysql_fetch_array($zapytanie)){
  4.              echo '<tr>
  5.            <td width="200px">
  6.            <input type="checkbox" name="checkboxy[]" value="'.$wynik['id'].'" onclick="document.getElementById('.$wynik['id'].').style.display = this.checked ? 'block'&nbsp: 'none'; this.form.elements['mnoznik[]'].disabled = this.form.elements['nazwa3'].disabled = !this.checked" />'.$wynik['nazwa'].'</td>
  7. <td width="75px"><div id='.$wynik['id'].' style="displa: none">
  8.    <input type="text" style="widt:20px" name="mnoznik[]"  />szt.
  9. </div></td>
  10. <td align="left" width="50px"> cen: </td><td align="right"> '.$wynik['cenabrutto'].' zl</td>
  11.                    </tr>
  12.            ';}
  13. ?>


P.S. tak, zdaję sobie sprawę, że wsadzanie div'a w komórke tabeli to bluźnierstwo i w ogóle katastrofa, ale nie o tym mowa. smile.gif
melkorm
  1. <?php
  2. $zapytanie = mysql_query("SELECT * FROM uslugi ORDER BY nazwa");
  3.           while($wynik = mysql_fetch_array($zapytanie))&nbsp: ?>
  4.                <td width="200px">
  5. <input type="checkbox" name="checkboxy[]" value="<?php echo $wynik['id'] ?>" onclick="document.getElementById('<?php echo $wynik['id']?>').style.display = this.checked ? 'block: 'none'; this.form.elements['mnoznik[]'].disabled = this.form.elements['nazwa3'].disabled = !this.checked" /><?php echo $wynik['nazwa']?></td>
  6.    <td width="75px"><div id="<?php echo $wynik['id'] ?>" style="displ: none">
  7.    <input type="text" style="w:20px" name="mnoznik[]" id="jakisid"  />szt.    </div></td>
  8.    <td align="left" width="50px"> c: </td><td align="right"><?php echo $wynik['cenabrutto'] ?> zl</td>
  9.                   </tr>
  10. <?php endwhile?>


ładniech chyab wygląda co nie ? snitch.gif
no a żeby czyścić pole typu text możesz si odwołać przez value tak jak robisz z display tego div'a tongue.gif
Kod
document.getElementById('jakisid').value = this.checked ? 'jakas poprzednia wartosc' : '';


przez te dwukropki powcinało troche rzeczy :|
Marr
Coś muszę się temu poprzyglądać dłużej, bo jak na razie to ledwo kumam. Jestem cienki strasznie z tego typu zabiegów.Poza tym dzięki rolleyes.gif
robos85
nie wiem czy o to chodziło, ale tu prosty przykład, który czyści inputa gdy checkbox jest zaznaczony:
  1. <script type="text/javascript">
  2. function zrob(){
  3. var in1=document.getElementById('1');
  4. var in2=document.getElementById('2');
  5. if(in1.checked){
  6. in2.value="";
  7. }
  8. }
  9. <input type="checkbox" id="1" onclick="zrob();"/>
  10. <input type="text" value="" id="2" />
  11. </form>
Marr
kurcze coś mi nie idzie. Mogę dać w onClick dwie akcje? Bo w checkboxach mam:
Kod
onclick="document.getElementById('.$wynik['id'].').style.display = this.checked ? \'block\' : \'none\'; this.form.elements[\'mnoznik[]\'].disabled = !this.checked"


a chcę dodać tak jak napisał Melkorm:
Kod
document.getElementById(\'jakisid\').value = this.checked ? \'\';


i jak dodam to na początku onclicka mojego to wszystko przestaje działać ;/ need some help...
robos85
może zrób odniesienie do funkcji jakiejś, zrób funkcję i w niej te 2 działania daj i jużsmile.gif
Marr
taaa tylko jak ktoś jest tępy z js'a to nawet z tych dwóch akcji jednej funkcji co ma rece i nogi nei zrobi smile.gif
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.