То работает, то нет
Может не туда написал, но ладно. Не пойму в чем дело. Есть страница
<script src="jquery.js" type="text/javascript"></script> Date from: <input type="text" id="date_from" name="date_from"><br/> Date to: <input type="text" id="date_to" name="date_to"><br/> Nazvanie: <input type="text" id="nazvanie" name="nazvanie"><br/> Opisanie: <input type="text" id="opisanie" name="opisanie"><br/> Key words: <input type="text" id="keywords" name="keywords"><br/> <input type="button" id='b1' value="find"> <?php function __autoload($name){ include "$name.class.php"; } $kart = new Kart_find(); $kart->FindInf(); ?> <div id="div1">dfd</div> <p id="p">fvfvf</p> <script type="text/javascript"> $('#div1').hide(1000); $('#p').hide(1000); </script> <script type="text/javascript"> $.(document).ready(function(){ $('#b1').click(Find); }); function Find(){ //var date_from = $('#date_from').val(); //var date_to = $('#date_to').val(); //var nazvanie = $('#nazvanie').val(); var opisanie = $('#opisanie').val(); var keywords = $('#keywords').val(); $.ajax({ type: "POST", data: {key1:$('#opisanie').val(),key2:$('#keywords').val()}, url: "ajax.php", dataType: "json", success: function(data){ var temp = data.o_description + " " + data.o_name; $('#p').text(temp); } }) } </script> В таком виде все работает. Если убрать строки </script><script type="text/javascript">, то есть объединить два скрипта, то нифига не пашет. Почему? |
<script> $(document).ready(function(){ $('#b1').click(Find); }); $('#div1').hide(1000); $('#p').hide(1000); function Find(){ //var date_from = $('#date_from').val(); //var date_to = $('#date_to').val(); //var nazvanie = $('#nazvanie').val(); var opisanie = $('#opisanie').val(); var keywords = $('#keywords').val(); $.ajax({ type: "POST", data: {key1:$('#opisanie').val(),key2:$('#keywords').val()}, url: "ajax.php", dataType: "json", success: function(data){ var temp = data.o_description + " " + data.o_name; $('#p').text(temp); } }) } </script> |
Аякс выполняется по нажатию кнопки. Это понятно. А строки с hide выполняются по открытию страницы. Вопрос почему в первом варианте работает, а если объединить то нет.
|
Кеп подсказывает, что из-за ошибок не работает.
|
То есть из за ошибки в аяксе не работает весь код?
|
Я исправил Ваш код, неужели не заработало? Судя по огрызку кода, обращаетесь к элементам, которые ещё не загрузились.
- $.(document) |
Нет там все загрузилось. Скрипт ниже хтмл кода, с которым он работает. И он работает в представленном варианте. Вопрос почему в первом варианте работает, а если объединить блоки то нет.
|
Выложите пример
|
Вот так работает
<script type="text/javascript"> $('#div1').hide(1000); $('#p').hide(1000); </script> <script type="text/javascript"> $.(document).ready(function(){ $('#b1').click(Find); }); function Find(){ //var date_from = $('#date_from').val(); //var date_to = $('#date_to').val(); //var nazvanie = $('#nazvanie').val(); var opisanie = $('#opisanie').val(); var keywords = $('#keywords').val(); $.ajax({ type: "POST", data: {key1:$('#opisanie').val(),key2:$('#keywords').val()}, url: "ajax.php", dataType: "json", success: function(data){ var temp = data.o_description + " " + data.o_name; $('#p').text(temp); } }) } </script> А вот так нет <script type="text/javascript"> $('#div1').hide(1000); $('#p').hide(1000); $.(document).ready(function(){ $('#b1').click(Find); }); function Find(){ //var date_from = $('#date_from').val(); //var date_to = $('#date_to').val(); //var nazvanie = $('#nazvanie').val(); var opisanie = $('#opisanie').val(); var keywords = $('#keywords').val(); $.ajax({ type: "POST", data: {key1:$('#opisanie').val(),key2:$('#keywords').val()}, url: "ajax.php", dataType: "json", success: function(data){ var temp = data.o_description + " " + data.o_name; $('#p').text(temp); } }) } </script> |
Рабочий пример, который можно вызвать и посмотреть
|
Часовой пояс GMT +3, время: 10:57. |