Archief - PHP/JS: Verkeerde conditie?

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Maber

Legacy Member
De onderstaande JS-functie werkt niet zoals ik het verwacht en ik geraak er ook niet uit!

Wellicht (ik ben niet zo'n krak in JS) doe ik er iets verkeerd. De bedoeling is dat bij het wijzigen van de keuzelijst "starttime" of "endtime" gecontroleerd wordt dat starttime kleiner is dan endtime. Indien dit niet het geval is moet er een alert getoond worden, anders mag het formulier gewoon uitgevoerd worden.

JS:
Code:
function ChangeHours() {
	var x = window.document.tview.starttime
	var y = window.document.tview.endtime
	if (x >= y) {
		alert("Start dient kleiner te zijn dan Einde!")	
	}
	else {
		window.document.tview.submit()
	}
}

PHP:
PHP:
<form>
<?php
if ($_SESSION['salview']=='day') {
        echo '<p>'."\n";
        echo FROM;
	echo '	<select name="starttime" size="1" Onchange="ChangeHours()">'."\n";
	for ($c=0;$c<24;$c++) {
		if ($_SESSION['starttime']==$c) {
			echo '	<option value="'.$c.'" selected="selected">'.$c.':00</option>'."\n";
		}
		else {
			echo '	<option value="'.$c.'">'.$c.':00</option>'."\n";
		}
	}
	echo '	</select>'."\n";
	echo ' '.TILL;		
	echo '	<select name="endtime" size="1" onchange="ChangeHours()">'."\n";
	for ($c=0;$c<24;$c++) {
		if (($_SESSION['endtime']-1)==$c) {
			echo '	<option value="'.$c.'" selected="selected">'.$c.':00</option>'."\n";
		}
		else {
			echo '	<option value="'.$c.'">'.$c.':00</option>'."\n";
		}
	}
	echo '	</select>'."\n";
	echo '</p>'."\n";
}
?>
</form>

Talos

Legacy Member
HTML:
document.getElementById("selectTagId").value

Zoiets gebruiken gaat mss al helpen of er ".value" achter zetten.

Linwe

Legacy Member
als de starttime kleiner moet zijn dan de endtime, waarom doe je dan x >= y ipv x < y ? ;)

En een mooiere manier om u waarden op te halen lijkt me via :
PHP:
var x = document.getElementById("starttime").value
dan moet je enkel id="starttime" nog toekennen in je selecttag en het boeltje draait...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan