Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js][xhtml] form - jak wyeliminować atrybut name potrzebny w js
DooBLER
post 15.05.2008, 19:42:36
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.08.2006

Ostrzeżenie: (0%)
-----


Witam
Na wstępie napiszę, że z JS jestem cienki

Napisałem sobie prosty skrypcik walidacji formularza:
Kod
function checkform()
{
    for (i=0; i < fieldstocheck.length; i++)
    {
        if (eval("document.forms['subscribeform'].elements['"+fieldstocheck[i]+"'].value") == "")
        {
            alert("Proszę wprowadzić "+fieldnames[i]);
            eval("document.forms['subscribeform'].elements['"+fieldstocheck[i]+"'].focus()");
            return false;
        }
    }
    
    return true;
}



var fieldstocheck = new Array();
var fieldnames = new Array();

function addFieldToCheck(value, name)
{
    fieldstocheck[fieldstocheck.length] = value;
    fieldnames[fieldnames.length] = name;
}


jak widać znacznik form musi mieć atrybut name="subscribeform'

Czy da się jakoś wywalić atrybut name i zastąpić go id="costam" tak żeby skrypt wyciągał przy pomocy np. GetElementById numer w obiekcie document.forms ?
albo jako to jakoś inaczej obejść

piszę strony w poprawnym xhtml'u (wysyłany jako application/xhtml+xml) i walidator w3c mi się czepia "there is no attribute "name"

pozdrawiam
Go to the top of the page
+Quote Post
jacekl
post 16.05.2008, 00:21:17
Post #2





Grupa: Zarejestrowani
Postów: 36
Pomógł: 7
Dołączył: 4.05.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Atrybut 'name' musi być, natomiast nic nie szkodzi na przeszkodzie, żebyś dodał także 'id' i odwoływał się do pola formularza przez document.getElementById(id)

JL
Go to the top of the page
+Quote Post
revyag
post 16.05.2008, 06:49:06
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Cytat
Atrybut 'name' musi być,

Nie musi i nie powinien być.

Do formularzy można się odwoływać tak:
Kod
document.forms[0]
albo poprzez id. Także spokojnie wyrzucaj to name.


--------------------
-------------

------
Go to the top of the page
+Quote Post
jacekl
post 16.05.2008, 23:42:14
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 7
Dołączył: 4.05.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Oczywiście to zależy od definicji słowa "musi".

Ja kierowałem się tą: "attribute name required for all [INPUT elements] but submit and reset" (http://www.w3.org/TR/html401/interact/forms.html#h-17.4)

JL
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 15:08