Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: checkbox i pole jednowierszowe pOTRZEBNAtEGAgLOWA
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
falkor
Problem jest nastepujacy:
Mam formularz.Jest tam jendowierszowe pole i checkbox.To pole jendowierszowe jest polem dynamicznym i pobiera dwucyfrowa wartosc z pola bazy MySQL.
Chcialbym aby checkbox byl zaznaczony jesli pole bazy nie zawiera zadnej wartosci (jest puste) a uzytkownik nie mogl do polaczonego z baza pola formularza nic wpisac (blokada), natomiast jego odznaczenie powodowaloby odblokowanie pola jednowierszowego w formularzu i mozliwosc pisania.
Ponowne zaznaczenie checkboxa powinno kasowac wpisana w pole formularza zawartść i je blokowac przed pisaniem.
Gdyby zas udalo sie umiescic warunek by liczby wpisywane do pola formularza byly z zakresu 1-31, byloby SUPER!!!
Nie mam pojecia jak to zrobic...na razie mam taki kod:
  1. <tr>
  2. <td><label for="Wyciag">Dzień wysyłki wyciągu</label></td>
  3. <td>
  4. <input name="wyciag" type="text" id="Wyciag" value="<?php echo $row_rsWyciag['DzienWysylkiWyciagu']; ?>" size="7" maxlength="2" /></td>
  5. <td><label>
  6. <input <?php if (empty($row_rsWyciag['DzienWysylkiWyciagu'])) {echo "checked";} ?> name="wyciag2" type="checkbox" id="wyciag2" value="checkbox" checked="checked" />
  7. nie wysyłać</label></td>
  8. </tr>
  9. <tr>
  10. <td colspan="3"><div align="center">
  11. <input name="Dalej" type="submit" class="style2" value="Dalej" />
  12. <input type="button" class="style2" value="Zrezygnuj" onClick="document.location.href='rachunek.php'" />
  13. </div></td>
  14. </tr>



BAAAAARDZO DZIEKUJE ZA JAKAS PODPOWIEDZ ohmy.gif sad.gif sadsmiley02.gif
nospor
Hihi, latasz po tym forum. Jak nie bazy to php winksmiley.jpg
No dobra. Koniec żartów. Najpierw w php dajesz warunek na checked, a potem jawnie w html i tak to wpisujesz bez warunku. Coś ci to nie wyszło.
Kod
<tr>
<td><label for="Wyciag">Dzień wysyłki wyciągu</label></td>
<td>
<input name="wyciag" type="text" id="Wyciag" value="<?php echo $row_rsWyciag['DzienWysylkiWyciagu']; ?>" size="7" maxlength="2" <?php if (empty($row_rsWyciag['DzienWysylkiWyciagu'])) {echo "disabled";} ?>/></td>
<td><label>
<input <?php if (empty($row_rsWyciag['DzienWysylkiWyciagu'])) {echo "checked";} ?> name="wyciag2" type="checkbox" id="wyciag2" value="checkbox" onchange=" document.getElementById('Wyciag').disabled=!this.checked;"/>
nie wysyłać</label></td>
</tr>
<tr>
<td colspan="3"><div align="center">
<input name="Dalej" type="submit" class="style2" value="Dalej" />
<input type="button" class="style2" value="Zrezygnuj" onClick="document.location.href='rachunek.php'" />
</div></td>
</tr>
falkor
No tak.To chyba moje nie zrozumienie tematu, bo wszystko jest tak jak chcialem, tylko ze chcialem cos innego. Faktycznie gdy w bazie nie ma liczby,pole sie blokuje a checkbox zaznacza, a gdy jest liczba odwrotnie.
Moze tak...pisze zaliczeniowa pracke...cos w rodzaju e-banku.Wzoruje sie na lukasbanku.Tam to odbywa sie w czasie rzeczywistym...zaznaczam checkbox i pole jest zablokowane a widniejaca w polu liczba skasowana, odznaczam i moge pisac...bez odswierzania.Rozumiem ze bez odswierzania z php ten numer nie przejdzie....moze jakis kod w JS?A moze jest inny sposob.Dane z tego formularza musza jeszcze sie wyswietlic raz na stronie po dokonanych zmianach i dopiero po zatwierdzeniu powedruja do bazy....

some help once more ....plizzzzzzzz sadsmiley02.gif

DzienX wielkie za ten kod i tak smile.gif.
kszychu
Umieściłeś post na dwóch forach. To niedopuszczalne, więc dostajesz ostrzeżenie. Do tego nie umieściłes na właściwym, więc przenoszę.
falkor
Bo nie wiedzialem jak je przeniesc.
I wciaz nie wiem czy ten problem rozwiazac w JS czy php ...kod raczej sugeruje php wiec dlaczego przeniosles na JS?
nospor
No toc ci to napisalem. przejrzyj moj kod, który jest twoim ale poprawionym
falkor
  1. <tr>
  2. <td><label for="Wyciag">Dzień wysyłki wyciągu</label></td>
  3. <td>
  4. <input name="wyciag" type="text" id="Wyciag" value="<?php echo $row_rsWyciag['DzienWysylkiWyciagu']; ?>" size="7" maxlength="2"
  5. <?php if (empty($row_rsWyciag['DzienWysylkiWyciagu'])) {echo "disabled";} ?> /></td>
  6. <td><label>
  7. <input <?php if (empty($row_rsWyciag['DzienWysylkiWyciagu'])) {echo "checked";} ?> name="wyciag2" type="checkbox" id="wyciag2"
  8. value="checkbox"onchange=" document.getElementById('Wyciag').disabled=!this.checked;" />
  9. nie wysyłać</label></td>
  10. </tr>


HA..tera jest odwortnie.jak zaznaczam checkboxa, moge wpisywac, jak odznaczamn ie moge.A chce odwrotnie....
nospor
sorki, popelnilem tycu blad. przetestuj ten kod i ewentualnie pozniej wstaw swoje dane.
Kod
<?
$cos='';
?>
<table>
<tr>
<td><label for="Wyciag">Dzień wysyłki wyciągu</label></td>
<td>
<input name="wyciag" type="text" id="Wyciag" value="<? echo $cos; ?>" size="7" maxlength="2" <?php if (empty($cos)) echo "disabled"; ?> />
</td>
<td><input <? if (empty($cos)) echo "checked"; ?> name="wyciag2" type="checkbox" id="wyciag2" value="checkbox" onchange=" document.getElementById('Wyciag').disabled=this.checked;" />nie wysyłać
</td>

</tr>
</table>
falkor
REWELKA!!!! dziala...DZIEKI!
P.s. Umialbys to tak jeszcze zmodyfikowac by kasowal po zaznaczeniu checboxa wartosc ktora byla w polu oraz podpowiedziec mi czy jest jakas funkcja w php do sprawdzania czy dana liczba nalezydo podanego zakresu?

rolleyes.gif
nospor
Kod
<?
$cos='12';
$cos=(int)$cos;
if ($cos>=1 && $cos<=31) echo "ok";
else echo "nie ok";
?>
<table>
<tr>
<td><label for="Wyciag">Dzień wysyłki wyciągu</label></td>
<td>
<input name="wyciag" type="text" id="Wyciag" value="<? echo $cos; ?>" size="7" maxlength="2" <?php if (empty($cos)) echo "disabled"; ?> />
</td>
<td><input <? if (empty($cos)) echo "checked"; ?> name="wyciag2" type="checkbox" id="wyciag2" value="checkbox" onchange="obj=document.getElementById('Wyciag'); obj.disabled=this.checked;if (this.checked) obj.value='';" />nie wysyłać
</td>

</tr>
</table>
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.