Форум → Программирование → Пыхнуть хотите? → F.A.Q. → Интерактивный select без перезагрузки страницы
Интерактивный select без перезагрузки страницы
Страницы: ← Предыдущая страница • Следующая страница →
-
15 августа 2009 г. 6:07, спустя 8 минут 6 секунд
в каких скобках?
в скобках обычно пишут аргументы функциивсе умрут, а я изумруд -
15 августа 2009 г. 6:59, спустя 52 минуты 19 секунд
Это я понимаю, вот как раз с этим и не могу разобраться. Смотри изначально вот так:
<select name="country" onchange="doload(this.value);">
<option value="no" selected>Выберите страну…</option>
<option value="russia">Россия</option>
<option value="ukraine">Украина</option>
</select>
<br><br>
<div id="result"></div>
<br><br>
<input type="submit" value="Отправить">
А хотелось бы что то типа:
<select name="country">
<option value="no" selected>Выберите страну…</option>
<option value="russia">Россия</option>
<option value="ukraine">Украина</option>
</select>
<br><br>
<div id="result"></div>
<br><br>
<input type="submit" value="Отправить" onclick="doload(???)">
т.е в onclick="doload(взять из select'a country и её значение)". -
15 августа 2009 г. 11:58, спустя 4 часа 59 минут 16 секунд
dobson, то есть при сабмите ты хочешь чтобы выводились в <div id="result"></div> значения? Опиши подробнее задачуhttps://smappi.org/ - платформа по созданию API на все случаи жизни -
15 августа 2009 г. 12:57, спустя 58 минут 35 секунд
dobson, то есть при сабмите ты хочешь чтобы выводились в <div id="result"></div> значения?
да. -
15 августа 2009 г. 13:13, спустя 16 минут 2 секунды
dobson, а сабмит то будет происходить или что? зачем запрашивать данные, если всеравно последует сабмит?https://smappi.org/ - платформа по созданию API на все случаи жизни -
16 августа 2009 г. 4:16, спустя 15 часов 3 минуты 16 секунд
вобщем всем спасибо за терпение ))) но решил оставить как есть. -
16 августа 2009 г. 6:11, спустя 1 час 54 минуты 52 секунды
dobson, при отсутствии знаний, это самое верное решениевсе умрут, а я изумруд -
17 августа 2009 г. 6:31, спустя 1 день 19 минут
все равно не могу оставить как есть не разобравшись ))
например есть такой код:
<input type="text" name="search" id="searh">
<select name="country" onchange="doload(this.value);">
<option value="no" selected>Выберите страну…</option>
<option value="russia">Россия</option>
<option value="ukraine">Украина</option>
</select>
Имеется поле для ввода текста и селект, так вот как мне отправить содержимое текстового поля в select2.php -
17 августа 2009 г. 7:17, спустя 46 минут 31 секунду
все с этим разобрался. Вроде как бы сделал и даже что удивительно, вроде как бы работает)) -
-
18 сентября 2009 г. 6:01, спустя 31 день 22 часа 37 минут
ВЕЛИКИЕ ГУРУ пыха! I need to correct the script. Проблема: select1 - показывает всё что надо, select2 - после выбора позиции из select1 даже не появляется. Подскажите пожалуйста, где ошибка.
select.php
<?php
$db = mysql_connect ("localhost", "root", "");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db("cars",$db);
?>
<script src="JsHttpRequest.js"></script>
<!– Здесь мы подключили библиотеку. А теперь пишем функцию, которую назовем doload() –>
<script>
function doload(value){
var req=new JsHttpRequest();
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}
req.open(null,"select2.php",true);
req.send({country:value});}
</script>
<form action="sript.php" method="POST">
<select name="country" onchange="doload(this.value);">
<option value="">–Выберите марку–
<?php
$sql = mysql_query ("SELECT DISTINCT brand FROM t1");
while ($new_brand = mysql_fetch_array($sql))
echo "<option value=".'"'.$new_brand['brand'].'"'.">".$new_brand['brand']."";
?>
</select>
<br><br>
<div id="result"></div>
<br><br>
<input type="submit" value="Отправить">
</form>
select2.php
<?php
$db = mysql_connect ("localhost", "root", "");
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
mysql_select_db("cars",$db);
require("JsHttpRequest.php");
$JsHttpRequest=new JsHttpRequest("windows-1251");
switch($_REQUEST["country"]):
case "Mitsubishi":
$html="<select name=\"provider\">
$sql = mysql_query ("SELECT DISTINCT model FROM t1 WHERE brand = 'Mitsubishi'");
while ($new_model= mysql_fetch_array($sql))
echo "<option value=".'"'.$new_model['model'].'"'.">".$new_model['model']."";
</select>";
break;
case "Suzuki":
$html="<select name=\"provider\">
$sql = mysql_query ("SELECT DISTINCT model FROM t1 WHERE brand = 'Suzuki'");
while ($new_model = mysql_fetch_array($sql))
echo "<option value=".'"'.$new_model['model'].'"'.">".$new_model['model']."";
</select>";
break;
case "Hyundai":
$html="<select name=\"provider\">
$sql = mysql_query ("SELECT DISTINCT model FROM t1 WHERE brand = 'Hyundai'");
while ($new_model = mysql_fetch_array($sql))
echo "<option value=".'"'.$new_model['model'].'"'.">".$new_model['model']."";
</select>";
break;
default: $html=null;
endswitch;
echo $html;
?> -
28 сентября 2009 г. 0:26, спустя 9 дней 18 часов 24 минуты
Привет всем!!! Помогите пожалуйста разобраться.
Проблема c IE (пробовал 6 и 7) и javascript. В опере и файрфокс всё работает, никаких ошибок, а в осле никак не хочет, выдаёт ошибку "Предполагается наличие идентификатора, строки или числа"
Здесь я вызываю функцию doload(this.value) …
<input name="uname" type="hidden" id="u_id" value="<?echo $_SESSION['username']?>"/>
<select name="smap" id="idmaprep1" size="1" onChange="doload(this.value)">
<option value="">Выбрать</option>
<?
$m=@mysql_query("SELECT `maps`.`rusname`, `maps`.`map` FROM `maps`, `users` WHERE `users`.`u_name` = '".$user."' AND FIND_IN_SET(`maps`.`lctn`,`users`.`lctn`) ORDER BY `maps`.`rusname`");
echo mysql_error();
for ($i=0; $i<mysql_num_rows($m); $i++){
$resm=mysql_fetch_array($m);
echo"<option value='$resm[map]'"; if (($_POST['smap']) == ($resm['map']))echo " selected"; echo">$resm[rusname]</option>";
}
?>
</select>
<?
$seluser = @mysql_query("SELECT `owner` FROM `users` WHERE `u_name` = '".$_SESSION['username']."'");
$resseluser=mysql_fetch_array($seluser);
?>
<input type="hidden" name="tuser" id="tiduser" value="<?echo $resseluser['owner'];?>"/>
<div id="result"></div>
<input type="submit" name="butrep1" id="intrep1" value="Сформировать отчёт" <?if ($_POST['smap'] == '') echo"disabled";?>/>
Вот уже сама функция … вот в ней что-то IE и не нравится …
function doload(value){
if (document.getElementById('idmaprep1').value == "")
{
document.mform.intrep1.disabled = true;
}
else
{
document.mform.intrep1.disabled = false;
}
var req=new JsHttpRequest();
var userID = document.getElementById('u_id').value;
var tuid = document.getElementById('tiduser').value;
req.onreadystatechange=function(){
if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}
req.open(null,"select2.php",true);
req.send({
rtuid:tuid,
smap:value,
u_id:userID,
});
}
Ну и на всякий случай вот backend:
<?
require("JsHttpRequest.php");
$JsHttpRequest=new JsHttpRequest("utf-8");
include_once "options.php";
global $SERVER, $USER, $PASSWD, $DB;
if (!mysql_connect($SERVER,$USER,$PASSWD)){
?>
<center><h1>Ошибка сервера MySQL. MySQL server error</h1></center>
</div></body></html>
<?
exit;
}
mysql_select_db($DB);
if ($_REQUEST['rtuid'] == 0){
$nc1=mysql_query("SELECT `navto`.`sern` FROM `navto`, `users` WHERE `users`.`u_name` = '".$_REQUEST['u_id']."' AND FIND_IN_SET(`navto`.`lctn`,`users`.`lctn`) AND `navto`.`lctn` = (SELECT `lctn` FROM `maps` WHERE `map` = '".$_REQUEST['smap']."')");
}
else{
$nc1=mysql_query("SELECT `navto`.`sern` FROM `navto`, `users` WHERE `users`.`u_name` = '".$_REQUEST['u_id']."' AND `users`.`owner` = `navto`.`owner` AND FIND_IN_SET(`navto`.`lctn`,`users`.`lctn`) AND `navto`.`lctn` = (SELECT `lctn` FROM `maps` WHERE `map` = '".$_REQUEST['smap']."')");
}
echo mysql_error();
?>
<input type="hidden" name="str2" value="<?
for ($i=0; $i<mysql_num_rows($nc1); $i++){
$resc1=mysql_fetch_array($nc1);
echo"$resc1[sern];";
}
?>"> -
-
28 сентября 2009 г. 1:30, спустя 15 минут 48 секунд
в IE нельзя задизейблить optionСпустя 26 сек.и код у тебя пиздец -
28 сентября 2009 г. 1:34, спустя 3 минуты 42 секунды
насчет disabled в ИЕ есть хак на жс
http://akosta.info/jscripts/option-disabled.jsвсе умрут, а я изумруд
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!