2015-07-10 3 views
2

Я изучаю JavaScript, и я пытаюсь сделать так, чтобы пользователь мог ввести имя и фамилию, а затем нажать кнопку отправки. Когда это произойдет, имя и фамилия отображаются на экране только ниже.Показать имя и фамилию с помощью JavaScript

Проблема в том, что она не работает. Ничего не происходит, когда пользователь нажимает кнопку отправки.

Вот как я устал.

HTML:

<body> 
First name:<br> 
<input type="text" name="firstname"> 
<br> 
Last name:<br> 
<input type="text" name="lastname"> 
<br> 
<input type="button" value="Send" onclick="MyFunction()"> 
    <div id="here"></div>  

<body> 

JavaScript:

function MyFunction() { 
    var first, second; 
    first = document.getElementById("firstname").value; 
    second = document.getElementById("lastname").value; 

    document.GetElementById("here").InnerHTML = first; 
    document.GetElementById("here").InnerHTML = second; 
} 

https://jsfiddle.net/7wu3gjqm/

+1

JavaScript чувствителен к регистру, поэтому 'document.GetElementById (« здесь »). InnerHTML' должен быть' document.getElementById («здесь»). InnerHTML'. Во-вторых, 'getElementById' делает именно это, получает элемент по его идентификатору. У ваших входов нет идентификаторов. – j08691

+1

это должно быть 'getElementById'! (Первая буква первого слова - строчная, первая буква других слов - верхняя) – undone

+0

В JSFiddle на консоли отображается следующая ошибка: «ReferenceError: MyFunction не определен». Нажмите F12 и перейдите на вкладку Консоль. Если вы видите какие-либо ошибки, попробуйте обратиться к ним, поскольку они перестают запускать все последующие функции Javascript. –

ответ

8

Это ваш пример работает нормально после некоторых изменений:

HTML:

<input type="text" name="firstname" id="firstname"> 
<input type="text" name="lastname" id="lastname"> 

JS:

myFunction = function() { 
    var first = document.getElementById("firstname").value; 
    var second = document.getElementById("lastname").value; 

    document.getElementById("here").innerHTML = first+" "+second; 
} 

Найди пример здесь: jsFiddle.

5

Вы хотели это в качестве выходного кода:

document.getElementById("here").innerHTML = first + " " + second; 

The G, и я должен быть вот wer case, и вы должны одновременно выводить как первое, так и последнее имя, используя конкатенацию строк. Обратите внимание, что это будет иметь уязвимости XSS.

Кроме того, измените атрибуты имени ввода на атрибуты id.

+2

Я должен быть маленьким в innerHTML – nikhil

+1

Спасибо. Добавлено это! –

+0

Я отредактировал это, но он все еще не работает https://jsfiddle.net/7wu3gjqm/2/ –

1

Вы используете getElementById но вы не имеете никакого элемента с заданными идентификаторами, я полагаю, вы забыли добавить идентификаторы ваших входных элементов:

<input type="text" name="firstname" id="firstname"> 
<input type="text" name="lastname" id="lastname"> 

Вы также можете захотеть изменить GetElementById для getElementById как js чувствителен к регистру.

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