Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] radio disable po wybraniu enable
matius71
post 20.03.2018, 00:29:14
Post #1





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Witam,

Potrzebuje zrobić dwa pola i w zależności od tego które się wybierze to to pole będzie aktywne. Myślałem o tym żeby zrobić to przez wybranie za pomocą "radio" i w zależności od tego które się kliknie to te pole będzie się aktywowało i będzie można w nie wpisać informacje. Czy jest to możliwe w PHP?
Go to the top of the page
+Quote Post
olszam
post 20.03.2018, 10:10:06
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


Dynamicznie tylko javascript.
Go to the top of the page
+Quote Post
trueblue
post 20.03.2018, 10:35:00
Post #3





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Skoro użytkownik wybiera opcję z radio, to najzwyczajniej możesz ignorować wartość z pola tekstowego przypisanego do tej opcji radio (czyli nie musisz blokować).

A wizualnie można to dodatkowo rozwiązać tak:
https://jsfiddle.net/k2534yLo/4/


--------------------
Go to the top of the page
+Quote Post
matius71
post 20.03.2018, 18:38:44
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Dzięki trueblue, właśnie tak zrobiłem tylko nie zdążyłem tu napisać smile.gif

Zrobiłem to w ten sposób:

  1. <div class="form-row">
  2. <div class="form-group col-md-6">
  3. <input type="radio" name="nalot" value="" onclick="document.getElementById('Time').disabled=true; document.getElementById('km').disabled=false">
  4. <label class="control-label">km</label>
  5. <input type="text" name="km" disabled="disabled" step="0.1" min="0" max="99999" id="km" class="form-control input-lg" placeholder="00000,0" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['km'], ENT_QUOTES); } ?>" tabindex="4">
  6. </div>
  7.  
  8. <div class="form-group col-md-6">
  9. <input type="radio" name="nalot" value="" onclick="document.getElementById('Time').disabled=false; document.getElementById('km').disabled=true">
  10. <label for="example-time-input" class="control-label">Time</label>
  11. <input type="text" name="Time" disabled="disabled" id="Time" class="form-control input-lg" placeholder="35:15" value="<?php if(isset($error)){ echo htmlspecialchars($_POST['Time'], ENT_QUOTES); } ?>" tabindex="4">
  12. </div>
  13. </div>


Niestety jak wyśle formularz bez wyboru żadnej z opcji to sypie mi błędami:

D:\xampp\htdocs\..... in D:\xampp\htdocs\..... on line 39

Notice: Undefined index: Time in D:\xampp\htdocs\..... on line 40

linia 39 i 40:

$km = $_POST['km'];
$Time = $_POST['Time'];


W pierwszym placeholder mam:

<br /><b>Notice</b>: Undefined index: km in <b>D:\xampp\htdocs\.....</b> on line <b>158</b><br />

w Drugim:

<br /><b>Notice</b>: Undefined index: km in <b>D:\xampp\htdocs\......</b> on line <b>164</b><br />

Błędu nie ma w komórce którą wybiorę i wypełnię ale problem jest taki że to jest wybierane między jedną a drugą opcją przez radio więc któraś opcja musi być pusta biggrin.gif Czy możecie powiedzieć czemu tak się dzieje?
Go to the top of the page
+Quote Post
trueblue
post 20.03.2018, 18:56:30
Post #5





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Czyli zrobiłeś to inaczej.

O błędzie notice było na forum setki razy. Poszukaj.


--------------------
Go to the top of the page
+Quote Post
matius71
post 20.03.2018, 23:18:32
Post #6





Grupa: Zarejestrowani
Postów: 77
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Ok, rozumiem że Notisy nie zawsze są mega ważne ale wolałbym ich nie wyciszać

  1. error_reporting(E_ALL ^ E_NOTICE);


Tylko jak rozumiem lepiej użyć

  1. if (isset($_POST['bla bla'])){
  2. }


Tylko że ja już mam taki ciąg kodu w tym miejscu gdzie powinienem to dodać że to sie chyba nie da biggrin.gif

  1. <input type="text" name="km" disabled="disabled" step="0.1" min="0" max="99999" id="km" class="form-control input-lg" placeholder="00000,0" value="
  2. <?php if(isset($error)){ echo htmlspecialchars($_POST['km'], ENT_QUOTES); } ?>" tabindex="4">

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.04.2024 - 12:54