Captain Network Ответов: 2

User_register не определен в htmlbuttonelement.onclick


я создал функцию, но она не была распознана/определена JS.

Ошибка:
ReferenceError: user_register не определен
в HTMLButtonElement.onclick

HTML:
<button type="button" class="fv-btn" onclick="user_register()">Register</button>


язык JavaScript:
функция user_register(){
jQuery('.field_error').html(");
var email=jQuery("#login_email").val();
var password=jQuery("#login_password").val();
}

Что я уже пробовал:

функция user_register() вызывается при нажатии кнопки register, но она вообще не работает.

Richard MacCutchan

Весь ли код находится в одном исходном файле?

Captain Network

PHP-код в основную папку и код JS в папку JS,внутри основной папки

Richard MacCutchan

Значит, они не в одном файле? Вы использовали директиву include в основном, чтобы она включала javascript? Пожалуйста, покажите код правильно, чтобы мы могли видеть, что вы делаете.

Captain Network

как вы уже сказали я включил main.js в login.php и я положил их в ту же папку, проблема все та же.

в main.js файл у меня есть эта функция для проверки формы::

функция user_register() {
jQuery('.field_error').html(");
var name=jQuery("#name").val();
var email=jQuery("#email").val();
var mobile=jQuery ("#mobile").val();
var password=jQuery("#password").val();
ВАР is_error=";
если(имя==""){
jQuery('#name_error').html('пожалуйста, введите имя');
is_error='да';
}если(электронная почта==""){
jQuery('#email_error').html('пожалуйста, введите адрес электронной почты');
is_error='да';
}если(мобильный==""){
jQuery('#mobile_error').html('пожалуйста, введите мобильный телефон');
is_error='да';
}if(пароль==""){
jQuery('#password_error').html('пожалуйста, введите пароль');
is_error='да';
}
если(is_error=="){
на jQuery.Аякс({
URL-адрес:'register_submit.php',
тип:"почта",
сведения:'имя='+имя+'&ампер;письмо='+почта+'&амп;мобильного='+андроид+'&усилителя;пароль='+пароль,
успех:функция(результат){
если(результат=='email_present'){
библиотека jQuery('#email_error').электронная почта в формате html('id, уже подарок);
}
если(результат=='вставить'){
jQuery('.register_msg p').html('Спасибо за регистрацию');
}
}
});
}

}


который связан с а login.php страница, с которой функция вызывается в кнопке register, как показано ниже::

<button type="button" class="fv-btn" onclick="user_register()">Register</button>

Richard MacCutchan

Делает login.php включить файл(ы). js?

Richard MacCutchan

У меня действительно возникает ощущение, что либо вы не понимаете, о чем мы спрашиваем, либо вы не понимаете взаимосвязи между этими файлами, когда они используются в реальном веб-приложении. Не имеет значения, в какой папке они хранятся, они все должны быть прочитаны вместе серверным приложением, а HTML и JS должны быть переданы вместе браузеру, чтобы он работал.

Captain Network

когда я помещаю js-код внутрь login.php и это сработало

Dave Kreskowiak

То, что люди спрашивают вас о "включении" файла .js, они имеют в виду сгенерированный PHP HTML. Есть ли в этом HTML теги, которые загружают файл .js?

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

О, и теги принадлежат тегу HTML <head & gt;.

Код .js не выполняется PHP-файлом на стороне сервера. Он должен быть загружен клиентом и выполнен на стороне клиента.

Richard MacCutchan

Удивительно, как все работает, когда сделано правильно.

2 Ответов

Рейтинг:
12

Sandeep Mewara

Вот, если я попробую простой код, как для вас в любом случае JS скрипка[^]:
HTML

<button type="button" class="fv-btn" onclick="user_register()">Register</button>

JS:
function user_register(){
 alert('Hi');
}

Он работает идеально, как и ожидалось.

Теперь, основываясь на ошибке, которой вы поделились, все это может означать, что вы, возможно, пропустили добавление ссылки Javascript. Файл/код Javascript в script тег вашей HTML-страницы.

Попробуй:
<!DOCTYPE html>
<html lang="en-US">

<head>
    <title>Demo example</title>
    <script>
        function user_register()
        {
          alert('Hi');
        }
    </script>
</head>
<body>
    <button type="button" onclick="user_register()">Register</button>
</body>
</html>


Captain Network

Что касается ссылки на скрипт и тега, то мой JS-код находится в main.js файл так что он не требует тега скрипта, однако я попробовал его сейчас и тот же результат.
Кнопка регистрации ничего не делает, и та же ошибка.
я даже проверил исходный код для этого конкретного проекта и его то же самое, что и у меня,
может быть, это какая-то проблема совместимости с архитектурой windows ??
мой - windows 10 1709 x64.

Sandeep Mewara

Нет. Здесь нет ничего вокруг совместимости.

И вы ошибаетесь насчет того, что вам не нужен тег script. Основываясь на том, чем Вы делитесь, вам нужно убедиться, что текущая страница имеет ссылку на файл main.s с помощью тега script.
любить:
<script src="myscripts.js"></script> //убедитесь, что здесь есть правильный относительный путь

Captain Network

Спасибо, это сработало, собрав код вместе в один файл.

Рейтинг:
12

Captain Network

так что проблема была решена благодаря этим ребятам,
мой js код был внутри main.js и регистрационный код в login.php, каким-то образом мои функции не работали, хотя main.js был связан с login.php-да.
Когда я помещаю js-код внутрь login.php использование

<script type="text/javascript">
это сработало отлично.