Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отключенный JavaScript (https://javascript.ru/forum/events/16845-otklyuchennyjj-javascript.html)

tores 25.04.2011 12:25

Отключенный JavaScript
 
Проблема такая! Есть форма авторизаций, котороя выпадает при нажатий на ссылку,
<script>
function showLoginWindow() 
 {
  document.getElementById("login").style.display="block"; 
  var hs=document.getElementById("hideshow");
  hs.innerHTML="Hide";
  hs.onclick=hideLoginWindow;
 }
function hideLoginWindow() 
 {
   document.getElementById("login").style.display="none";
   var hs=document.getElementById("hideshow");
   hs.innerHTML="Enter";
   hs.onclick=showLoginWindow;
   hs.style.display="block";
  }
</script>

HTML:

<body onload="hideLoginWindow()">
<a href="Files/registration.html"> Register</a>
<div>
 
<a style="display: none" id="hideshow" href="#" onclick="showLoginWindow()">Enter</a>
 
<div id="login">
 
<FORM action="" method="POST">
  Login: <INPUT type="text" name="lgn"><br> 
  Password: <INPUT type="password" name="pswd"> <br>
  <INPUT type="submit" name="enter" value="Enter"> 
 </FORM>
</div>
 
</div>
</body>


Мне нужно чтобы если отключен скрипт в браузере, то форма выводилась в окне,

проблема- все это делается но при каждом обновлении страницы эта форма видна из-за onLoad()

КАК БЫТЬ???? Предложите свой вариант по возможности!!!!!!!!За ранее спасибо!!!!!!

poorking 25.04.2011 12:44

сделайте ссылку чтобы она вела на страницу с авторизацией, а при window.onload найдите ее и поменяйте href на "javascript: void 0", и прикрутите обработчик, если js выключен, то ссылка будет просто вести на форму с авторизацией.

trikadin 29.04.2011 14:22

Зачем менять href? <a onclick="...; return false"> не катит?

trikadin 29.04.2011 14:41

Ну, или если мы за разделение содержания и скриптов, то так:

<a id="123" href="http://www.yandex.ru/">Текст</a>
<script>
a=document.getElementById("123");
a.onclick=function() {
  /* ваш код... */
  return false;
};
</script>

poorking 29.04.2011 20:21

trikadin,
Вы правы, но лучше уж тогда назначить обработчик на документ, смотреть на чем был клик и если на ссылке то принимать соответствующие меры, я думаю так лучше чем вешать обработчик на каждую ссылку
document.onclick = function(e){
		var trg = function(event){
			return event.target || event.srcElement;
		}(e || window.event)
		
		if(trg.tagName = "A"){
			doSomething(trg.href);
			return false;
		}
		
		
	}

alex_89 30.04.2011 10:27

А как все будет выглядеть в развернутом виде с js, html, css!!! А то я плохо понял!!!!!!!1

poorking 30.04.2011 10:51

Цитата:

Сообщение от alex_89 (Сообщение 102741)
А как все будет выглядеть в развернутом виде с js, html, css!!! А то я плохо понял!!!!!!!1

Никто не знает!!!!111 Вам в раздел работа!!!!111

monolithed 30.04.2011 21:07

poorking, можно же проще))
<script type="text/javascript">
document.onclick = function(event) {
    *!*var target = event ? event.target : window.event.srcElement;*/!*
    if(target.nodeName == 'A') {
        alert('Oops!');
    }
    return false;
};
</script>
<a href="#">click</a>

poorking 30.04.2011 21:25

monolithed,
trg.tagName = "A"
Присваивание поставил нечаянно, прямо тут писал, ошибся.
И вопрос, есть ли разница между nodeName и tagName если речь идет об Element (nodeType 1)? Вроде совпадают
<script type = "text/javascript">
window.onload = function(){
        var html  = document.getElementsByTagName("HTML")[0];	
        alert(html.tagName +"-"+ html.nodeName);
}
</script>

Цитата:

Сообщение от monolithed
можно же проще))

Учту обязательно :)

monolithed 30.04.2011 22:10

Цитата:

Сообщение от poorking
Вроде совпадают

<script type = "text/javascript">
var doc = document;    
alert(doc.tagName +"-"+ doc.nodeName);
</script>

Цитата:

Сообщение от poorking
есть ли разница между nodeName и tagName если речь идет об Element

nodeName представлен интерфейсом Node, а tagName Element
nodeName имеет все тоже самое, что tagName, плюс некоторые дополнения...
Attribute (attr name) | Text (#text ) | Comments (#comment ) | Document (#document) | DocumentFragment (#document-fragment)


Часовой пояс GMT +3, время: 20:56.