кажется, не удается подключить или запустить Javascript

#javascript #html

#javascript #HTML

Вопрос:

В настоящее время я выполняю модульную задачу, и мне трудно понять, почему мой javascript не подключается. я попробовал несколько вещей, но, похоже, не могу с этим справиться. Я уверен, что это легко, но я просто не могу с этим разобраться. объяснение тоже было бы отличным. Есть два файла, один html и один javascript. Заранее спасибо

HTML

  <script src="validate.js"></script>
 </head>
 <body>
 <header>
 <h1>Rohirrim Ranch Tours</h1>
 <h2>Booking Form</h2>
 </header>
 <form id="regform" method="post" 
 action="https://mercury.swin.edu.au/it000000/formtest.php" 
 novalidate="novalidate">
 <fieldset id="person"> 
 <legend>Your details:</legend>
 <p><label for="firstname">Enter your first name</label>
    <input type="text" name="firstname" id="firstname" size="20"  
 />
 </p>
 <p><label for="lastname">Enter your last name</label>
    <input type="text" name="lastname" id="lastname" size="20"  />
  </p>   
 <fieldset id="species">
    <legend>Species:</legend>
        <label for="human">Human</label>
        <input type="radio" name="species" id="human" 
value="Human"/><br />
        <label for="dwarf">Dwarf</label>
        <input type="radio" name="species" id="dwarf" 
value="Dwarf" /><br />
        <label for="elf">Elf</label>
        <input type="radio" name="species" id="elf" 
value="Elf" /><br />
        <label for="hobbit">Hobbit</label>
        <input type="radio" name="species" id="hobbit" 
value="Hobbit" /><br />
</fieldset>
<p><label for="age">Enter your age</label>
    <input type="text" id="age" name="age" size="5">
</p>
<p><label for="beard">Enter your beard length in inches</label><br />
    0 <input type="range" id="beard" name="beard" min="0" 
max="60"> 60
</p>
</fieldset>
<fieldset id="trip"> 
<legend>Your trip:</legend>
<fieldset>
    <legend>Booking:</legend>
        <label for="1day">1 Day Tour - $200 </label>
        <input type="checkbox" name="1day" id="1day" 
value="1day" /><br />
        <label for="4day">4 Day Tour - $1500</label>
        <input type="checkbox" name="4day" id="4day" 
value="4day" /><br />
        <label for="10day">10 Day Tour - $3000</label>
        <input type="checkbox" name="10day" id="10day" 
value="10day" /><br />
</fieldset>
<p>
    <label for="food">Menu preferences</label>
    <select name="food" id="food">
        <option value="none">Please select</option>
        <option value="lembas">Lembas</option>
        <option value="mushrooms">Mushrooms</option>
        <option value="ent">Ent Draft</option>
        <option value="cram">Cram</option>
    </select>
 </p>
 <p>
 <label for="partySize">Number of Travellers</label>
        <input type="text" id="partySize" name="partySize" 
 maxlength="3" size="3" />
</p>
</fieldset>
<div id="bottom"> </div>
<p><input type="submit" value="Book Now!" />
 <input type="reset" value="Reset" />
</p>
</form>
 

JAVASCRIPT

 "use strict";

function validate() {
var firstname = document.getElementById("firstname").value;
var lastname = document.getElementById("lastname").value;
var errMsg = "";
var result = true;

if (!firstname.match(/^[a-zA-Z] $/)) {
    errMsg = errMsg   "Your first name must only contain alpha 
charactersn";
    result = false; }

if (!lastname.match(/^[a-zA-Z $]/)){
    errMsg = errMsg   "Your last name must only contain alpha 
charactersn";
    result = false;
}

var age = document.getElementById("age").value;

if (isNaN(age)){
    errMsg = errMsg   "your age must be a numbern"
    result = false;
}
else if (age < 18) {
    errMsg = errMsg  " your age must be 18 or oldern";
    result = false;
}
else if (age >= 10000) {
    errMsg = errMsg   "your age must be between 18 and 10000n";
    result = false;
}

var partySize = document.getElementById("partySize").value;


if (isNaN(partySize)) {
    errMsg = errMsg   "your age must be a numbern"
    result = false;
}
else if (partySize < 1) {
    errMsg = errMsg  " party size must be greater than 0n";
    result = false;
}
else if (age >= 100) {
    errMsg = errMsg   "your party size must be less or equal to 100n";
    result = false;

}


if (erMsg !== ""){
    alert(errMsg);
}

return resu<
}

function init() {
var regForm = document.getElementById("regform");
regForm.onsubmit = validate;
}

window.onload = init;
 

Ответ №1:

Я вижу вашу ошибку erMsg вместо errMsg

 if (erMsg !== ""){
    alert(errMsg);
}
 

а также добавьте event.preventDefault(); в начале функции проверки

Ваша ссылка на js в порядке 🙂

Ответ №2:

Попробуйте установить URL-адрес Javascript как ‘./validate.js ‘