Questa è una domanda in due parti. Qualcuno ha risposto ad una domanda simile l'altro giorno (che conteneva anche informazioni su questo tipo di array in PHP), ma non riesco a trovarlo.HTML form nome tag elemento array con JavaScript
1.) Prima di tutto, qual è la terminologia corretta per un array creato alla fine dell'elemento nome di un tag di input in un modulo?
<form>
<input name="p_id[]" value="0"/>
<input name="p_id[]" value="1"/>
<input name="p_id[]" value="2"/>
</form>
2.) Come ottengo le informazioni da quell'array con JavaScript? Nello specifico, in questo momento sto solo contando gli elementi dell'array. Ecco cosa ho fatto ma non funziona.
function form_check(){
for(var i = 0; i < count(document.form.p_id[]); i++){ //Error on this line
if (document.form.p_name[i].value == ''){
window.alert('Name Message');
document.form.p_name[i].focus();
break;
}
else{
if (document.form.p_price[i].value == ''){
window.alert('Price Message');
document.form.p_price[i].focus();
break;
}
else{
update_confirmation();
}
}
}
}
Grazie, questo è esattamente quello che stavo cercando. L'ho modificato un po 'però ... 'per (i = 0; i
ubiquibacon
Usare 'i' come globale non è una buona idea (ti sta solo chiedendo di risolvere i problemi con gli obiettivi, sia ora che in futuro perché hai preso brutte abitudini). Usare 'document.form' è una cattiva pratica perché (a) la raccolta' document.forms' renderà più chiaro quello che stai facendo e 'form' non è un nome molto dettagliato (e' document.form' potrebbe essere confuso con 'document.forms' che rende la manutenzione più confusa.Eseguire lo scrunch su una singola riga va bene, ero solo più esplicito in modo da poter vedere cosa sta succedendo – Quentin
@Quentin:' for (var i ...) 'è in effetti lo stesso di' var i; for (i ...) 'perché [le variabili JavaScript sono scope funzione] (http://www.adequatelygood.com/JavaScript-Scoping-and-Hoisting.html), non a livello di blocco come nel caso di molti linguaggi OO popolari – Laoujin