Ich habe die folgenden PHP-Code:Javascript getElementsByName nicht in PHP-Schleife arbeiten
//some code
$query = "SELECT * from store_00_transfers";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){
echo "<tr><td align=center width=19%>{$row['item_no']}</td><td align=center><input type='text' value='{$row['qty']}' name='cqty[]' readonly ></td><td align=center><input type='number' min='0' name='nqty[]' onChange='check_not_large(this.value);' value='0'></td></tr>";
}
//rest of code
Nun, wie Sie eine Funktion gibt es innerhalb onChange
sehen können. Diese Funktion soll überprüfen, ob die vom Benutzer eingegebene Zahl für neue Mengen die alte Menge nicht überschreiten soll (ich verwende diese Methode, um die Menge von einem Geschäft zu einem anderen zu übertragen).
Bitte beachten Sie auch, dass ich innerhalb der Eingabefelder cqty[]
und nqty[]
einen Namen vergeben habe.
Ich habe JavaScript-Code:
<script>
function check_not_large(res) {
var old = document.getElementsByName("cqty[]");
var type= document.getElementsByName("nqty[]");
for(var i = 0; i < old.length; i++) {
if(type[i].value > old[i].value){
alert('Error : Qty Inserted should be Less than QTY found in Store !');
alert(type[i].value);
alert(old[i].value);
return type[i].value = 0;
}
}
}
</script>
ich verwendet habe alert
in Javascript zu testen, ob korrekte Werte gesammelt und es scheint, dass es je nach Bedarf funktioniert, aber nicht für, wenn neue Menge Validieren ist mehr als alte Menge, es scheint, dass es nur für die ersten 4 Reihen funktioniert, dann bleibt es hängen und beginnt die neue Menge in jeder Zeile MIT der ersten alten Menge Zeile zu validieren. Ich hoffe, das macht für Sie Sinn.
Jede Alternative oder Vorschlag wird es zu schätzen wissen.
Dank Guy
was 'name = 'cqty []'', warum Sie diese Art von Namen havig Array Zeichen verwenden ?? –
Ohne dieses Array-Zeichen erhalte ich JavaScript-Fehler mit alert - object nodelist oder undefined. Ich bin mit JS nicht so vertraut. Wie ich bereits erwähnt habe, wird die 'while-Schleife' in der While-Schleife wiederholt. –
Sie haben einen Tippfehler in Ihrem html "" " – user3