То работает, то нет
Может не туда написал, но ладно. Не пойму в чем дело. Есть страница
<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:24. |