Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

skrypt dziala tylko w firefoksie a IE go olewa

17 views
Skip to first unread message

Agent Wacek

unread,
Mar 22, 2012, 4:10:11 PM3/22/12
to
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/

agent...@wytnij.gazeta.pl

unread,
Mar 22, 2012, 5:00:31 PM3/22/12
to
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,

Herr

unread,
Mar 23, 2012, 1:52:57 AM3/23/12
to
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
0 new messages