Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   То работает, то нет (https://javascript.ru/forum/jquery/28335-rabotaet-net.html)

oleg_46 15.05.2012 21:01

То работает, то нет
 
Может не туда написал, но ладно. Не пойму в чем дело. Есть страница


<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">, то есть объединить два скрипта, то нифига не пашет. Почему?

zebra 15.05.2012 21:15

<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>

oleg_46 15.05.2012 23:17

Аякс выполняется по нажатию кнопки. Это понятно. А строки с hide выполняются по открытию страницы. Вопрос почему в первом варианте работает, а если объединить то нет.

zebra 16.05.2012 00:03

Кеп подсказывает, что из-за ошибок не работает.

oleg_46 16.05.2012 00:07

То есть из за ошибки в аяксе не работает весь код?

zebra 16.05.2012 00:13

Я исправил Ваш код, неужели не заработало? Судя по огрызку кода, обращаетесь к элементам, которые ещё не загрузились.
- $.(document)

oleg_46 16.05.2012 00:23

Нет там все загрузилось. Скрипт ниже хтмл кода, с которым он работает. И он работает в представленном варианте. Вопрос почему в первом варианте работает, а если объединить блоки то нет.

zebra 16.05.2012 00:31

Выложите пример

oleg_46 16.05.2012 00:37

Вот так работает

<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>

zebra 16.05.2012 00:39

Рабочий пример, который можно вызвать и посмотреть


Часовой пояс GMT +3, время: 07:46.