Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie nazwy formy + nazwa submit
Forum PHP.pl > Forum > Po stronie przeglądarki
Largo
Witam,

Na pewnej stronie mam 4 formularze i muszę je zblokować, bo akcję w nich wykonywane, nie mogą się powtarzać. Napisałem obecny kod:

  1. <script type="text/javascript">
  2. function blockFormButton(Form)
  3. {
  4. var FormName = this.Form.name;
  5. var ElementName = document.forms[FormName] // Co tutaj?
  6. document.FormName.ElementName.disabled = true;
  7. document.FormName.submit();
  8. }


Odpowiednio pobiera mu nazwę formularza, ale jak pobrać nazwę z inputa, który jest Submi'em? Tylko nazwę :-) Abym jak widać w dalszej części kodu mógł mu nadać atrybut disabled.

Pozdrawiam,
Largo
kamil4u
Nazwę w sensie name? :
Kod
cos = ref_do_elementu.name;

//np.
//JS:
alert(document.getElementById('test').name);
//HTML
<input type="submit" id="test" name="test" value="name">


Mam nadzieję, że sobie poradzisz smile.gif
Largo
Witaj,

Hehe, nie ma mowy o ID, bo ID musi być unikalne. Tu chodzi o pobranie tylko name, gdzie input type == submit :-) W sumie będzie ich 5, ale każdy z inną nazwą i to będzie się odwoływać do odpowiedniego formularza. Dlatego potrzebuje jedynie jak pobrać nazwę name z inputów o type submit.

Pozdrawiam!
kamil4u
Kod
var i, names = new Array();
var x = document.getElementsByTagName('input');
for(i in x) // lub jak wolisz for(i=0;i<x.length; i++)
if(x[i].type == "submit") names[names.length] = x[i].name;

alert(names);

? Chyba, że znowu nie zrozumiałem smile.gif

--Edit--
literówka
Largo
  1. <script type="text/javascript">
  2. function blockFormButton(Form)
  3. {
  4. var ElementName = new Array();
  5. var FormName = this.Form.name;
  6. var Elements = document.getElementsByTagName('input');
  7. for( int i = 0; i < Elements.length; i++ )
  8. {
  9. if( Elements[i].type == "submit" )
  10. {
  11. ElementName[ElementName.length] = Elements[i].name;
  12. }
  13. }
  14. document.FormName.ElementName.disabled = true;
  15. document.FormName.submit();
  16. }


Coś mi nie działa poprawnie :-) Przykład mogę Ci na PW wysłać o co mi dokładnie chodzi.

Pozdrawiam!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.