2017-02-05 4 views
1

Это мое первое время проводки так, пожалуйста помощь, если это возможно :)Получить элемент, Id быть направлены на конкретную страницу

Я делаю веб-страницы, но столкнулся с проблемой, которая у может помочь решить. Есть 3 файла:

  1. home.html -> Главная
  2. login.html -> Страница с формой открывается в IFRAME в home.html
  3. чч. js -> javascipt file

Моя конечная цель - показать имя пользователя с приходом вместо входа в систему, записанное на home.html после нажатия кнопки отправки на странице login.html.

На данный момент я просто пытаюсь изменить слово «Войти» на что-нибудь еще, а не на имя пользователя.

Ниже приведен код для hh.js (файл Javascript):

function goback(){ 
alert("yes") 
var str = document.getElementById("demo").innerHTML; 
var res = str.replace("Login","ppap"); 
document.getElementById("demo").innerHTML = res; 
} 

Ниже приводится код для home.html файла (главная страница), где Войти слово присутствует

<a onclick="login()"><span id="demo">Login</span></a> 

После это полный код файла login.html:

<html> 
<head> 
<script language="javascript" src="hh.js"> 
</script> 
</head> 
<body bgcolor="#000033"> 
<br><font color="white"> 
LOGIN<br> 
USERNAME:<input type="text" id="user"><br> 
PASSWORD:<input type="password"><br> 
<button onclick="goback()">Submit</button> 
</body></font> 
</html> 

Проблемно

Функция goback() присутствует в обоих файлах только для проверки. На обеих страницах есть кнопка (Login.html имеет кнопку отправки & & home.html имеет случайную кнопку с той же функцией).

Когда я нажимаю кнопку при входе в систему (iframe в home.html), он запускает предупреждение с да, но не меняет кнопку «Слово входа», когда я запускаю кнопку, присутствующую в home.html с той же функцией, также появляется предупреждение также слово Линга меняется на ppap.

Что я думаю, что происходит, что кнопка отправки работает, но getelementid ищет имя id в login.html вместо home.html.

Пожалуйста, если кто-нибудь может помочь мне с таргетингом на getlementbyid на home.html, я был бы очень благодарен, но, пожалуйста, дайте очень простой код, поскольку учителя в школе не поймут код. Также, если есть какой-либо другой простой способ сделать то же самое, я также могу получить эти ответы тоже как можно скорее, вместо использования iframe, который я использую, чтобы скрыть эту область до тех пор, пока не будет вызвана функция входа в систему, а затем функция goback() вызывается на той же странице ..

ответ

0

Вам нужно это:

function login() { 
    document.getElementById("demo").innerHTML = "Logout"; 
} 

изменить тест в

<a onclick="login()"><span id="demo">Login</span></a> 

его немного трудно читать ваш вопрос, но, чтобы показать элемент попробовать

JS

document.getElementById("demo").style.display = "block"; 

CSS

#demo {display: none;} 
+0

(не решено) Спасибо, мой друг .. это немного помогло, но мой вопрос все еще не очищен ...... строка кода u дала мне то же, что и моя, но моя проблема в том, что когда я вызываю функцию с другой страницы, то есть login, html .... замена не происходит, но когда я вызываю одну и ту же функцию с той же страницы, происходит замена ... я знаю функцию из login.html (другая страница) запускает функцию как «предупреждение», но не заменяет ... – SXG

+0

Можете ли вы дать мне html-код для обеих страниц. поможет ура. –

+0

Я не могу положить весь код из-за ограничения по словам, поэтому следующий код, который связан с этим присутствующим на главной странице: и эта строка из hh.js (файл Javascript): функция Логин() { window.open (" login.html», "theFrame") } – SXG

1

Там нет элемента с идентификатором «демо», поэтому JavaScript не может найти его и не знает, куда применить текст. Попробуйте поместить текст, который вы хотите заменить в сНе или поверочный элемент:

<span id="demo">LOGIN</span> 

Кроме того, «Логин» не то же самое, как «LOGIN», поэтому, когда вы пытаетесь заменить «Вход» нет ничего, чтобы заменить , Но если вы попытаетесь заменить «LOGIN», тогда он будет работать.

var res = str.replace("LOGIN","ppap"); 

Это будет также работать:

var res = "ppap"; 

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

+0

то же, что и у другого парня ... снова посмотри мой друг .... я хочу отредактировать слово «Вход» из главного файла html страницы, а не из файла login.html .... он заменяет Login на ppap но только когда я ударил функцию, используя кнопку внутри в файле html главной страницы но can not change using button в файле login.html ... – SXG

+0

Что вы подразумеваете под «редактировать слово« Вход с главной страницы html-файл »? Я не вижу, как эти два файла связаны каким-либо образом. Если вы открываете сразу два html-файла, это означает, что вы открыли две веб-страницы, и они никак не могут взаимодействовать друг с другом. Если вы хотите сохранить переменную, доступную на нескольких разных страницах, вам необходимо использовать базу данных или, по крайней мере, LocalStorage или SessionStorage. –

+0

ваши права в пути .... эти файлы просто связаны/совместно используют общий файл javascript ... по «редактировать вход с главной страницы» означает, что я хочу изменить слово «Вход» в HTML-код на все, что мне нужно , в этом случае для ppap ... просто я не могу получить getelementbyid для работы на домашней странице при вызове функции с другой страницы ... переход от входа в ppp происходит, когда функция вызывается с той же страницы. – SXG

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