Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    getElementById mi da null mentre form[nomecampo] no

    Salve a tutti,
    non riesco a capire perché queste due istruzioni:
    codice:
    document.getElementById(id)
    e
    codice:
    form["nomecampo"]
    mi danno informazioni diverse: in particolare il primo mi da nullo e il secondo no. Premetto che i valori "id" e "nomecampo" dell'input si riferiscono allo stesso oggetto.

    non capisco.
    Qualche idea?

    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova a postare la pagina come la riceve il browser (non codice php/asp) oppure meglio ancora un link pubblico alla pagina, letto cosi è poco comprensibile dato che cosi come l'hai scritto non ha alcun senso per entrambi le sintassi, che posso essere:
    document.getElementById("id-del-elemento")... oppure document.form["nome-del-form"].elements["nome-elemento"]... o ancora document.NomeForm.NomeElemento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Originariamente inviato da cavicchiandrea
    Prova a postare la pagina come la riceve il browser (non codice php/asp) oppure meglio ancora un link pubblico alla pagina, letto cosi è poco comprensibile dato che cosi come l'hai scritto non ha alcun senso per entrambi le sintassi, che posso essere:
    document.getElementById("id-del-elemento")... oppure document.form["nome-del-form"].elements["nome-elemento"]... o ancora document.NomeForm.NomeElemento
    Questa è la funzione che valida la form:
    codice:
    function ValidateFormNuovaDomanda(theform)
    {
    	var e='', i={}, f='', r, s
    	r=theform['domanda']
    	r.className=''
    	if(!i['domanda']
    	&& (theform['domanda'].value==''))
    	{
    		r=theform['domanda']
    		r.className='invalid'
    		if(e=='')
    			f='domanda'
    		else
    			e+='\n'
    		e+='- Inserisci il testo della domanda'
    		i['domanda']=true;
    	}
    	if(e!='')
    	{
    		if(theform[f].focus)
    			theform[f].focus()
    		alert(e)
    		form_submitted=false
    		return false
    	}
    	return true
    }
    L'input domanda è fatto così:
    codice:
    <input type="text" name="domanda" value="" size="100" id="domanda" /
    Anche se document.getElementById('domanda') mi da nullo, theform['domanda'] no quindi mi entra sempre nell'if e mi mostra il messaggio di errore...

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma il controllo è limitato ad un solo campo?
    Chi avrebbe scritto quel codice?
    E forse un codice datato?
    Comunque non saprei correggere quel codice, io lo rifarei diversamente (dipende da cosa si vuole fare) se vuoi controllare tutto un form e non vuoi scrivere il contro (if nomecampo ) x ogni campo devi scorrere (for(....)) gli elementi (text/select/radio/etc..)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Originariamente inviato da cavicchiandrea
    Ma il controllo è limitato ad un solo campo?
    Chi avrebbe scritto quel codice?
    E forse un codice datato?
    Comunque non saprei correggere quel codice, io lo rifarei diversamente (dipende da cosa si vuole fare) se vuoi controllare tutto un form e non vuoi scrivere il contro (if nomecampo ) x ogni campo devi scorrere (for(....)) gli elementi (text/select/radio/etc..)
    E' un codice datato ma non vorrei modificarlo. E' una classe del portare "phpclasses.net" molto utilizzata.

    Quindi non si riesce a capire perché theform["nomecampo"] non da nullo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.