2013-05-07 3 views
1

я, кажется, все на месте,Почему этот javascript не анализируется?

<script language="javascript" type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 

<script type="text/javascript" src="js/mailing-list.js"></script> 

В заголовке и mailing-list.js в папке JS. Но по какой-то причине он, похоже, не разбирается. Я вставил нижеприведенный код - любые идеи?

var emailEntered, 
nameVal, 
compVal, 
foneVal, 
cityVal, 

$(document).ready(function() { 
    $("#SendButton").click(function() { 
     $(".error").hide(); 
     var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
     var emailaddressVal = $("#email").val(); 

     if (emailaddressVal == '') { 
      $("#message").html('<span class="error">Enter your email address before submitting.</span>'); 
      return false; 
     } else if (!emailReg.test(emailaddressVal)) { 
      $("#message").html("<span class='error'>That is not an email address.&nbsp; Typo?</span>"); 
      return false; 
     } else { 
      emailEntered = escape($('#email').val()); 
     } 

     nameVal = escape($("#name").val()); 
     emailVal = escape($("#email").val()); 
     compVal = escape($("#comp").val()); 
     foneVal = escape($("#fone").val()); 
     cityVal = escape($("#city").val()); 
    }); 
    $('#signup').submit(function() { 
     $("#message").html("<span class='error'>Adding your email address...</span>"); 
     $.ajax({ 
      url: 'inc/store-address.php', 
      data: 'ajax=true&email=' + emailEntered + '&name=' + nameVal + '&comp=' + compVal + '&fone=' + foneVal + '&city=' + cityVal, 
      success: function (msg) { 
       $('#message').html(msg); 
      } 
     }); 
     return false; 
    }); 
}); 

Обновление: путем разбора Я имею в виду, что вызов для mailing-list.js игнорируется.

+0

Что "кажется, не разобрать" означает? Что происходит? Какие ошибки вы получаете? – j08691

+0

Что значит «не разбирается»? Каковы ошибки? – Neal

+0

В результате разбора я хочу сказать, что вызов

2

вы должны запустить статический анализатор кода на код, как jshint, при написании кода:

test.js: line 7, col 6, Missing semicolon. 
test.js: line 13, col 36, Expected '===' and instead saw '=='. 

сначала вы увидите несколько синтаксических ошибок. Затем вы должны открыть консоль javascript и посмотреть, что такое ошибка. Обычно переводчик дает много информации.

И, кстати, второе предупреждение на самом деле не ошибка, но хорошая привычка иметь в javascript при проведении проверок равенства.

О вашем редактировании вы должны использовать скрипт, например firebug (или любой другой инструмент webdev, который вы можете получить в своем любимом браузере) и проверить, может ли он получить скрипт, который вы пишете. Это возврат 404? затем проверьте путь. Он возвращает 403? затем проверьте разрешения ...

1

Я не знаю, что вы подразумеваете под «не разобрать», но вы должны проверить консоль разработчика (смотрите в меню вашего браузера). А также:

var emailEntered, 
     nameVal, 
     compVal, 
     foneVal, 
     cityVal, 

Должно быть:

var emailEntered, 
     nameVal, 
     compVal, 
     foneVal, 
     cityVal; 
Смежные вопросы