Man har select-box och via den väljer en kurs, som är lagrad i en
MySQL-tabell. När man väljer kursen och om en viss kolumn har värdet
Nej, så skall inte texten-rutan vara synlig. Jag använder php, som scriptspråk. Går det att fixa?
Visa textruta om kursen tillåter det!
6 svar · 350 visningar · startad av Dr-man
Frågan#1
Problemet är egentligen hur man får värdet fram från MySQL-tabellen via en ändring av select?
Det borde gå att göra något med HttpRequest, något jag inte är så säker på, men jag har använt något liknande detta på en sida:
HTML/Javascript-koden:
<script type="text/javascript">
<!--
var xmlhttp=false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
function check(idnr) {
if (idnr == '' || idnr == 0) {
document.getElementById('textbox').style.display = 'block';
return;
}
var url = "check.php?id=" + idnr;
var show_text = 1;
xmlhttp.open( 'GET' , url, true);
xmlhttp.onreadystatechange=function() { // Goodies ++
if (xmlhttp.readyState==4) {
show_text = xmlhttp.responseText; // Make a fuss
var show = show_text == 0 ? 'block' : 'none';
document.getElementById('textbox').style.display = show;
}
}
xmlhttp.send(null);
}
// -->
</script>
<form name="formname" action="" method="post">
<select name="select_name" onchange="check(this.options[this.selectedIndex].value)">
<option value="">Välj</option>
<option value="1">Val 1</option>
<option value="2">Val 2</option>
<option value="3">Val 3</option>
</select>
<div id="textbox" style="display:block">
<input type="text" name="text_name" />
</div>
Och sedan check.php
<?php
include 'conn.php'; // databasanslutningen
$sql = "SELECT COUNT(*) FROM tabell WHERE id = ".intval($_GET['id'])." AND viss_kolumn == 'Nej'";
$result = mysql_query($sql);
echo mysql_result($result, 0);
?>
Jag får det inte att fungera med koden.
Jag använder IE 6 och får nedre vänstra hörnet ett litet gult varningstriangel
med ett utropstecken. Inga felmeddelanden.
Den gula varningstriangeln brukar allt som oftast vara ett felmeddelande. (Dubbel-)klicka på det och se vad det säger...
Felmeddelandet är följande:
Ett objekt förväntas.
Kod:0

