2013-09-25 7 views
1

My Jquery отлично работает в режиме онлайн, но когда я пытаюсь сделать его внешним, он не работает. У меня есть оба сценария, хранящиеся в: include ('./ includes/header.html'); И я также храню их в корне папки.Файл JavaScript/JQuery не загружается

Если кто-нибудь может помочь, это будет здорово.

У меня есть две ссылки, проводимых в рамках header.html

<!DOCTYPE html> 
    <head> 
    <title> <?php $page_title ?> </title> 

<link rel="stylesheet" type="text/css" href="mystyle.css"> 

<script src="formValidation.js"></script> 
<script src="jquery-1.10.2.js"></script> 



</head> 
<body> 
<div id="wrapper"> 

    <div id="header"> 
     <h1>Films.com</h1> 

    </div> 

    <div id="content"> 

     <div id="nav"> 

      <ul> 
       <li><a href="login.php">Login</a></li> 
       <li><a href="index.php">Home</a></li> 
       <li><a href="register.php">Register</a></li> 
       <li><a href="film.php">Film</a></li> 
       <li><a href="add_film.php">Add a Film</a></li> 


      </ul> 

     </div> 

При переходе к add_film.php на Jquery, которые обычно скользят вниз мою форму, теперь она не скользит вниз.

<?php 

    include('./includes/header.html'); 




echo "<h1>Add A film</h1>"; 

if(isset($_POST['submitted'])){ 

$errors = array(); // Initialize erroy array. 

// Check for title. 
if (empty($_POST['movie_title'])){ 
    $errors[] = "You forgot to enter a title."; 
} else { 
    $mn = (trim($_POST['movie_title'])); 
} 
// Check for leading actor 
if (empty($_POST['leading_actor'])){ 
    $errors[] = "You forgot to enter the leading actor."; 
} else { 
    $la = (trim($_POST['leading_actor'])); 
} 
// Check for a rating 
if (empty($_POST['rating'])){ 
    $errors[] = "Please select a rating."; 
} else { 
    $rating = ($_POST['rating']); 
} 
// Check for a review 
if (empty($_POST['review'])){ 
    $errors[] = "Please write a review"; 
} else { 
    $review = (trim($_POST['review'])); 
} 


if (empty($errors)) { // If no errors were found. 

    require_once('./includes/Mysql_connect.php'); 

    // Make the insert query. 
    $query = "INSERT INTO films (movie_title, actor, rating) 
    Values ('$mn', '$la', '$rating')"; 

    $result = mysql_query($query); 

    $id = mysql_insert_id(); 

    $query = "INSERT INTO reviewed (review, movie_id) 
    values ('$review', '$id')"; 

    $result = mysql_query($query); 



    //Report errors. 
} else { 
    foreach ($errors as $msg){ 
     echo " - $msg <br/> "; 
    } 
} 

} 

?>

<html> 


<form action="add_film.php" method="post" id="add_film"> 

    <fieldset> 

    <label for="title">Movie Title</label> 
    <input type="text" name="movie_title" id="movie_title" /> 

    <br/> 
    <br/> 

    <label for="actor">Leading Actor</label> 
    <input type="text" name="leading_actor" id="leading_name" /> 

    <br/> 
    <br/>  


    <label for="rating">Rating</label> 
    <select id="rating" name="rating"/> 
     <option selected="selected" value=0 disabled="disabled">Select a      Rating</option> 
     <option value="Terrible">Terrible</option> 
     <option value="Fair">Fair</option> 
     <option value="Ok">Ok</option> 
     <option value="Good">Good</option> 
     <option value="Excellent">Excellent</option> 
    </select> 

    <br/> 
    <br/> 


    <label for="review">Your Review</label> 
    <br/> 
    <textarea name="review" id="review" rows="15" cols="60"></textarea> 

    <br/> 
    <br/> 

    <input type="submit" name="submit" id="submit" value="submit" /> 
    <input type="hidden" name="submitted" value="TRUE" /> 

    </fieldset> 
</form> 







    <br/> 
</html> 







<?php 

include('./includes/footer.html'); 

    ?> 

Вот мой Jquery.

$(document).ready(function(){ 


    $('#add_film').slideDown(800); 

    // Focus on first form field. 
    $("input:text:visible:first").focus(); 


    $('#add_film').submit(function (e) { 

    var error = false; 

    // No value for movie_title 
    if ($('#movie_title').val() == "") { 
     alert("No Film"); 
     error = true; 
    } 

    // No Value for actor 
    if ($('#leading_name').val() == "") { 
     alert("No actor"); 
     error = true; 
    } 

    // No value for rating 
    if ($('#rating').val() == null) { 
     alert("No Rating"); 
     error = true; 
    } 

    //No value for review 
    if ($('#review').val() == "") { 
     alert("No review"); 
     error = true; 
    } 



    if (error) { 
     e.preventDefault(); 
     } 
    }); 
}); 
+0

Код, а не описание вашей файловой системы и взаимосвязь между этими файлами. Это просто простая проблема с путями. Любые 404 в вашей консоли? – thescientist

ответ

3

Изменить заказ вы загрузите их:

<script src="jquery-1.10.2.js"></script> 
<script src="formValidation.js"></script> 
+0

Проще, чем спасибо. Итак, JQuery имеет приоритет над моим пользовательским скриптом? – user1829823

+2

Нет, ваш пользовательский скрипт нуждается в jQuery для работы. Скрипты выполняются сверху вниз. –

0

порядок, в котором вы загрузить сценарии важно. , так как ваш сценарий использует jquery, поэтому jquery необходимо загрузить перед вашим скриптом. поэтому измените порядок загрузки. сначала загрузите jquery, затем ваш скрипт.

Это также причина, почему ваш скрипт работает inline.

Смежные вопросы