🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
3 messages
3 total messages Started by Agent Wacek Thu, 22 Mar 2012 20:10
skrypt dziala tylko w firefoksie a IE go olewa
#51066
Author: Agent Wacek
Date: Thu, 22 Mar 2012 20:10
52 lines
2252 bytes
Zastanawiam sie dlaczego nie dziala pod IE a w firefoksie bezproblemowo dziala.
Skrypt nie pozwala wyslac formularza gdy pole jest puste a IE tego skryptu nie
łapie, gdzie babol ?

<form name="form1" method="post" action="jakistamplik.php" onsubmit="return
checkForm(this)"

<input type="text" name="user" size="5" maxlength="2" class="val">

<input type="submit" name="Submit" value="W Y S L I J"> </form>

<script type="text/javascript" language="JavaScript">
var ClassName = "val"; //nazwa klasy elementow
var FocusColor = "#FFCC00"; //kolor podswietlenia niewypelnionego pola
     
function checkForm(theForm) {
var error = false;
var inputfields = document.getElementsByTagName("input");
var textareas = document.getElementsByTagName("textarea");
     
for(var x = 0 ; x < inputfields.length ; x++ ) {
if(inputfields[x].getAttribute("class") == ClassName) {
if (inputfields[x].value.length == 0) {
inputfields[x].style.background = FocusColor;
error = true;
} else {
inputfields[x].style.background = 'White';
}
}
}
     
for(var x = 0 ; x < textareas.length ; x++ ) {
if(textareas[x].getAttribute("class") == ClassName) {
if (textareas[x].value.length == 0) {
textareas[x].style.background = FocusColor;
error = true;
} else {
textareas[x].style.background = 'White';
}
}
}
     
if(error == true) {
alert("WYPELNIJ PODSWIETLONE POLE!");
return false;
}
}
</script>


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: skrypt dziala tylko w firefoksie a IE go olewa
#51067
Author: agentwacek
Date: Thu, 22 Mar 2012 21:00
58 lines
2433 bytes
Jeszcze raz wklejam calosc bo wczesniej nie wkleilo mi wszystkiego a dokladnie
<br> teraz powinien byc kompletny kod ktory dziala pod firefox a pod IE nie
chu chu.




<form name="form1" method="post" action="jakistamplik.php" onsubmit="return
checkForm(this)"

<br>Wprowadz: 
<input type="text" name="user" size="5" maxlength="2" class="val">
<br>

<input type="submit" name="Submit" value="W Y S L I J"> </form>


    <script type="text/javascript" language="JavaScript">
    var ClassName = "val"; //nazwa klasy elementow,
    var FocusColor = "#FFCC00"; //kolor podswietlenia niewypelnionego pola
     
    function checkForm(theForm) {
    var error = false;
    var inputfields = document.getElementsByTagName("input");
    var textareas = document.getElementsByTagName("textarea");
     
    for(var x = 0 ; x < inputfields.length ; x++ ) {
    if(inputfields[x].getAttribute("class") == ClassName) {
    if (inputfields[x].value.length == 0) {
    inputfields[x].style.background = FocusColor;
    error = true;
    } else {
    inputfields[x].style.background = 'White';
    }
    }
    }
     
    for(var x = 0 ; x < textareas.length ; x++ ) {
    if(textareas[x].getAttribute("class") == ClassName) {
    if (textareas[x].value.length == 0) {
    textareas[x].style.background = FocusColor;
    error = true;
    } else {
    textareas[x].style.background = 'White';
    }
    }
    }
     
    if(error == true) {
    alert("WYPELNIJ PODSWIETLONE POLE!");
    return false;
    }
    }
    </script>


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: skrypt dziala tylko w firefoksie a IE go olewa
#51068
Author: Herr
Date: Fri, 23 Mar 2012 05:52
34 lines
1819 bytes
 Agent Wacek wrote:

> Zastanawiam sie dlaczego nie dziala pod IE a w firefoksie bezproblemowo dziala.
> Skrypt nie pozwala wyslac formularza gdy pole jest puste a IE tego skryptu nie
> łapie, gdzie babol ?

[rachu - ciachu]

Chyba tylko w IE7...
http://stackoverflow.com/questions/531508/getattribute-cannot-return-class-in-ie7

Zmień sposób pobierania klasy z elementu, np na taki:

if (inputfields[x].attributes['class']) { 
    var elemClass = inputfields[x].attributes['class'].nodeValue; 
} else { 
    var elemClass = inputfields[x].getAttribute('class'); 
}


a potem jeszcze warunek sprawdzający czy dany element posiada
odpowiednią klasę:

if(elemClass == ClassName) (...)



Co prawda kod przestanie działać jeżeli zaczniesz nadawać inputom kilka
klas, ale jak to rozwiązać - pozostawiam już Tobie ;)


-- 
Herr C(...)a
mój e-mail? http://cerbermail.com/?YWDqT8olYO
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads