Ошибка консоли говорит "функция не определена" - PullRequest
0 голосов
/ 22 июля 2011

В консоли ошибок отображается следующая ошибка:

Ошибка: обзор не определен Исходный файл: http://localhost/opencart/index.php?route=information/savingsaccount Строка: 1

 <script type="text/javascript">
 function review(id) {
$.ajax({
alert(id);
        text = $.trim($("#text").val());
        name = $.trim($("#name").val());
        rating = $.trim($("#rating").val());

        url = "savingsreview.php";
        data = "name="+name+"&text="+text+"&rating="+rating;
        result  = $.ajax({
              url: url,
              global: false,
              type: "GET",
              data: data,
              async:false,
              beforeSend: function(){
              },
           }
        ).responseText;
        alert(result);
    }
}); 
}

</script>
<div style="width:540px;" align="center"><a id="displayText"     
href="javascript:toggle(<?php echo $id;?>);">Review & Read Reviews</a></div>
<span id="toggleText<?php echo $id;?>"  style="display: none">


<div class="content">


<label><b>Your Name</b></label> : <input type="text" id="name" name="name" value="" />

<label><b>Your Review</b></label> :<textarea name="text" id="text"  rows="3">  </textarea> 

<label><b>Rating</b></label>
    <input id="rating" type="radio" name="rating" value="1" style="margin: 0;" />
    &nbsp;
    <input type="radio" name="rating" value="2" style="margin: 0;" />
    &nbsp;

 <a onclick="review(<?php echo $id;?>);" class="button"><span>Submit</span></a></td>

</span>


Can anyone help me solve this??

Ответы [ 3 ]

3 голосов
/ 22 июля 2011

Попробуйте это

function review(id) {

    alert(id);
    var text = $.trim($("#text").val());
    var name = $.trim($("#name").val());
    var rating = $.trim($("#rating").val());

    var url = "savingsreview.php";
    var data = "name=" + name + "&text=" + text + "&rating=" + rating;
    var result = $.ajax({
        url: url,
        global: false,
        type: "GET",
        data: data,
        async: false,
        beforeSend: function() {},
    }).responseText;
    alert(result);


}

Был мусор, поэтому я удалил его, и он должен работать (как $.ajax() сразу после function review(id) {)

2 голосов
/ 22 июля 2011

Определение функции review ужасно нарушено.

Вы начинаете с вызова $.ajax и передачи его, который выглядит как литерал объекта, до тех пор, пока не дойдете до первой строки внутри него, после чего вы, похоже, пытаетесь написать функцию.

Я предлагаю использовать jslint

1 голос
/ 22 июля 2011

Если вы не хотите, чтобы ваш код зависал во время ожидания ответа (что произойдет, если вы используете async false), вы должны передать обработчик успеха, который будет вызван после получения ответа, что-то вроде:

function sendAjax() {
    $.ajax({
        // arguments
    },getResponse);
}

function getResponse(response) {
    // deal with what came back
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...