[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: событие onchange
Gabriel
в общем дело такое.
при первом выборе опции появляется список появляется тот который нужен.
но при второй смене браузеры начинают рассказывать мол orarios in not a function (объект не поддерживает метод или свойство), а как с этим бороться даже не представляю sad.gif может у кого какие идеи есть?

ajax.js
Свернутый текст
// JavaScript Document
var d = document;
var req = Create();

function orarios()
{
var a = d.getElementById("cursos").value;
query = "cursos="+a;
Request(query);
}

function Create()
{
if ( navigator.appName == "Microsoft Internet Explorer" )
req = new ActiveXObject( "Microsoft.XMLHTTP" );
else
req = new XMLHttpRequest();
return req;
}

function Request( query )
{
req.open("post", "function.php", true );
req.onreadystatechange = Refresh;
req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");
req.send(query);
}


function Refresh()
{
if( req.readyState == 4 )
d.getElementById("orario").innerHTML = req.responseText;
}


form.html
Свернутый текст
<p class="formulario2"><label><span class="input"> Cursos que Interesan </span>
<select
name="cursos" id="cursos" onchange="orarios();" style="width: 253px;">
<option
value="0">---Seleccione un curso---</option>
<option
value="1">Office nivel b&aacute;sico + S.O.</option>
<option
value="2">Office nivel medio/avanzado</option>
<option
value="3">Internet y correo electr&oacute;nico</option>
<option
value="4">Idiomas ( ingl&eacute;s, franc&eacute;s )</option>
<option
value="5">Cursos a medida bajo demanda</option>
<!--<option value="5">Otros Cursos</option>-->
</select>
</label>
</p>
<p
id="orario" class="formulario2"><label>
<?php
include('function.php'); ?>
</label></p>



function.php
Свернутый текст

<?php
function
orarios() {

if ( $_POST['cursos'] < 4 ) {

$array = array(
'1' => array(
'bla bla bla bla',
'11:00 - 12:30 (L y X)',
'11:00 - 12:30 (M y J)',
'17:30 - 19:00 (L y X)',
'17:30 - 19:00 (M y J)'
),
'2' => array(
'bla bla bla bla',
'19:00 - 20:30 (L a J)'
),
'3' => array(
'bla bla bla bla',
'12:30 - 14:00 (L y X)',
'12:30 - 14:00 (M y J)',
'16:00 - 17:30 (L y X)',
'16:00 - 17:30 (M y J)'
),
);


$arr = $array[ $_POST['cursos'] ];
$cnt = count( $arr );

$select = '<span class="input"> Cursos que Interesan </span>';
$select .= '<select name="orarios">';

foreach ( $arr as $key => $val ) {

$select .= '<option value ="'.$key.'">'.$val.'</option>';

}

$select .= '</select>';
return $select;

} else {

return false;

}

}

if ( isset( $_POST['cursos'] ) )
echo orarios();
?>




Спустя 6 часов, 40 минут, 11 секунд (23.02.2010 - 10:38) Alex VoDevil написал(а):
Единственное что приходит в голову - <select name="orarios">(в php выводе), попробуйте имя заменить.

ЖС вам говорит что orarios не является функцией, стало быть после ajax запроса происходит переопределение объекта orarios скорее всего.

Помогло? smile.gif

Спустя 1 час, 3 минуты, 49 секунд (23.02.2010 - 11:42) Gabriel написал(а):
Alex VoDevil
олололо! помогло smile.gif списиб сидел пол дня немог понять в чм дело О_о


_____________
one step, two steps HERE WE GO!!!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.