» »

Radio button + php

Radio button + php

iMark ::

Pozdravljeni,

Imam formo z dvema radio gumboma, ko je izbran prvi, drugi ne sme biti - in obratno. Prvi želim da je po defaultu izbran. Ko kliknem na en gumb se mora izvesti akcija - torej brez dodatnega gumba za submitat. Vrednost gumba želim hraniti v neki spremenljivki, ki jo potem uporabim v funkciji v php-ju. Kako naj naredim, da bo po defaultu izbran prvi gumb, ko pa kliknem drugega, bo drugi označen in prvi ne?
Problem je v tem, da če nastavim spremenljivke $asc_status="checked"; in $desc_status="checked"; (glej spodaj) se seveda ob izvedbi akcije (glej spodaj) spremenljivki ponastavijo.

Koda:
<form name="logs" method="post" action="logs.php">
<input name="ascOption" type="radio" value="asc"  <?php print $_SESSION['asc_status']; ?> onclick="logs.submit()"/>naraščajoče
</label>
<label>
<input type="radio" name="ascOption" value="desc"  <?php print $_SESSION['desc_status']; ?> onclick="logs.submit()"/>padajoče
</label>
<input type="hidden" name="check" value="true">
</form>


asc/desc_status bi predstavljal ali je checked ali ne:

if(isset($_SESSION['asc_status']) and isset($_SESSION['desc_status'])){
//?
}
else{
	$asc_status="checked";
	$desc_status="unchecked";
	$_SESSION['asc_status']=$asc_status;
	$_SESSION['desc_status']=$desc_status;
}//seveda to ne deluje...
if ($_POST['check']){
	$ascOption=$_POST['ascOption'];
	if($ascOption="asc"){
		$asc_status="checked";
		$desc_status="unchecked";
		$_SESSION['asc_status']=$asc_status;
		$_SESSION['desc_status']=$desc_status;
	}
	else if($ascOption="desc"){
		$asc_status="unchecked";
		$desc_status="checked";
		$_SESSION['asc_status']=$asc_status;
		$_SESSION['desc_status']=$desc_status;
	}
}


Mi lahko kdo prosim pove, kako naj hranim vrednosti od $desc_status in $asc_status? Naj imam v session-u ali kako bi bilo najbolj idealno?
Na isti strani imam funkcijo, ki vzame vrednost gumba, ali "asc" ali "desc": function($ascOption); (simbolično).
Če na hitro povzamem strukturo strani mora izgledati tako:
1. v php kodi nastavljen prvi gumb na checked
2. forma z akcijo na isti strani
3. dva radio gumba
4. funkcija, ki deluje glede na vrednost gumbov - default vrednost je prvega gumba (t.j. "asc")

Upam da sem dovolj razumljivo napisal.

Lep pozdrav in hvala za pomoč
  • spremenil: iMark ()

MisterR ::

Ti moraš POST uporabit za "logs" ne pa za check.

klik

iMark ::

Hvala vseeno vendar ni bil tu problem. Z malo logike sem rešil preprostejše:
<?php
if(isset($ascOption)==false){
	$asc_status="checked";
	$desc_status="unchecked";
}

if ($_POST['ascOption']){
	$ascOption=$_POST['ascOption'];
	if($ascOption=="asc"){
		$asc_status="checked";
		$desc_status="unchecked";
	}
	else if($ascOption=="desc"){
		$asc_status="unchecked";
		$desc_status="checked";
	}
}
?>
<label>
<input name="ascOption" type="radio" value="asc" <?php print $asc_status; ?> onclick="logs.submit()"/>naraščajoče</label>
<label>
<input type="radio" name="ascOption" value="desc" <?php print $desc_status; ?> onclick="logs.submit()"/>padajoče</label>

Zgodovina sprememb…

  • spremenil: iMark ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Fix skripte: nginx log + group by user-agent + count + sort desc

Oddelek: Programiranje
5722 (645) Invictus
»

[sql]-stevilka vrstic

Oddelek: Programiranje
121140 (1003) bmandl
»

[SQL] select po skupinah znotraj tabele

Oddelek: Izdelava spletišč
131527 (1273) R33D3M33R
»

[php, mysql] sortiranje izpisa iz baze

Oddelek: Izdelava spletišč
262689 (2208) Binji
»

ASP kako narediti ASC/DESC zaporedje prikaza

Oddelek: Izdelava spletišč
101011 (920) alesrosina

Več podobnih tem