Как вызвать внешний файл javascript в PHP? - PullRequest
4 голосов
/ 03 мая 2011

Я учусь, как вызывать внешние файлы JavaScript в моем коде PHP. Я получил некоторые коды из Интернета и попробовал его, но он не работает. Может кто-нибудь дать мне совет или объяснить мне это. Я не программист, но я изучаю, как программировать, и только начал учиться, поэтому мне трудно понять некоторые концепции.

У меня есть здесь коды, PHP-файл и JS-файл. Они находятся в одной папке.

Вот коды:

index.php

<html>
<head>
 <script language="JavaScript" src="exer_1.js"></script>
</head>
<body>
 <form name="myform">
  <input type="text" id="input_1" name="input_1" /><br />
  <input type="text" id="input_2" name="input_2" /><br />
  <input type="submit" value="Check!" onclick="javascript:parseTest() return false;" />
 </form>
</body>
</html>

exer_1.js

function parseTest() {
 var elem_1 = document.getElementById('input_1');
 var elem_2 = document.getElementById('input_2');

 var inp_1 = elem_1.value;
 var inp_2 = elem_2.value;

 if (inp_1 == "" && inp_2 == "") {
  alert("You need to enter integers!!!");
  elem_1.focus();
 } else if (inp_1 == ""){
  alert("You need to enter Integer 1!!!");
  elem_1.focus();
 } else if (inp_2 == ""){
  alert("You need to enter Integer 2!!!");
  elem_2.focus();;
 } else {
  if (!parseInt(inp_1) || !parseInt(inp_2)) alert ("Enter Integers only!!!");
  else {
   alert("Correct Inputs!!!");
  }
 } 
}

Ответы [ 4 ]

11 голосов
/ 03 мая 2011

<script language="JavaScript" src="exer_1.js"></script>

Атрибут language устарел, используйте type вместо

<script type="text/javascript" src="exer_1.js"></script>

Правильный синтаксис для встроенной привязки событий -

<input type="submit" value="Check!" onclick="parseTest(); return false;" />

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

<form onsubmit="return parseTest()">
1 голос
/ 03 мая 2011

Я бы посмотрел в JQuery для хорошего фреймворка JavaScript. Вместо того, чтобы помещать код javascript в событие onclick кнопки, с помощью jquery вы можете сделать что-то вроде:

$('#submit').click(function() {
  // whatever code you want to run when submit is clicked.
  alert('Submit clicked');
}
1 голос
/ 03 мая 2011

Вы на самом деле не указали, что не работает, но я заметил что-то в вашем коде.

<html>
<head>
 <script language="JavaScript" src="exer_1.js"></script>
</head>
<body>
 <form name="myform">
  <input type="text" id="input_1" name="input_1" /><br />
  <input type="text" id="input_2" name="input_2" /><br />
 <!-- The following will cause an error -->
  <input type="submit" value="Check!" onclick="javascript:parseTest() return false;" />

<!-- instead use this -->
<input type="submit" value="Check!" onclick="javascript:parseTest(); return false;" />
 </form>
</body>
</html>

ошибка с запятой

1 голос
/ 03 мая 2011
<script type="text/javascript" src="exer_1.js"></script>

Фил: Надеюсь, ты не возражаешь против моего редактирования

...