funktion aufruf?
Dalia
- javascript
Hallo zusammen!
Ich habe die folgende schleife:
<%for i = 1 to 10
<tr><td><input Type="textbox" name="txtQty<%=i%>" size= "3" maxlength="3"></td>
<td><input Type="textbox" name="txtDescription<%=i%>" size= "30" maxlength="30"></td>
<td><input Type="textbox" name="txtUnitPrice<%=i%>" onblur="CalcAmount(document.Purchase.txtUnitPrice<%=i%>.value,document.Purchase.txtQty<%=i%>.value,<%=i%>)" size= "15" maxlength="15"></td>
<td><input Type="textbox" name="txtAmount<%=i%>" size= "15" maxlength="15"></td>
</tr>
next %>
und ich moechte nur eine javafunction aufrufen aber weiss nicht wie ich den i uebergeben soll?????
die Funktion CalcAmount functioniert nicht!
function CalcAmount(Qty,Amount)
{
document.Purchase.txtAmount<%=i%>.value=Qty * Amount;
}
vielen dank,
Dalia
guten Abend Dalia,
bist du sicher, daß du wirklich "Javascript meinst ?
so etwas:
<%for i = 1 to 10
ist erstens höchst ungewöhnlich und zweitens ziemlich unvollständig. Normalerweise würdest du eine "Zählung mit Javascript" ungefähr so aussehen lassen:
for( i=1; i<x; i++ )
next %>
damit schließt du einen Script-Bereich wie in PHP, das hat höchstwahrscheinlich gar nichts mit Javascript zu tun und das "next" ist nirgends begründet.
und ich moechte nur eine javafunction aufrufen aber weiss nicht wie ich den i uebergeben soll?????
nicht weitergeben, sondern als Variable benutzen wäre die richtige Vorstellung (glaube ich).
die Funktion CalcAmount functioniert nicht!
function CalcAmount(Qty,Amount)
{
document.Purchase.txtAmount<%=i%>.value=Qty * Amount;
}
ja, wie soll sie auch, wenn ihr solches kryptisches und unerklärtes Zeug wie <%=i%> in die Quere kommt.
Es sieht ganz danach aus, als ob du die Syntax einer gänzlich anderen Scriptsprache als Javascript auszugeben versuchst (ich könnte mich damit aber auch irren).
Grüße aus Berlin
Christoph S.
Guten Abend Cristoph,
ja das ist server/side script (ASP) wo ich in onblur eine javascript funktion aufrufen moechte
function CalcAmount(Qty,Amount)
{
document.Purchase.txtAmount<%=i%>.value=Qty * Amount;
}
das prb ist das ich nicht weiss wie ich
document.Purchase.txtAmount1.value=Qty * Amount;
document.Purchase.txtAmount2.value=Qty * Amount;
u.s.w.
umgehen sollte
ich programmiere mehr in ASP (daher kommt auch <%=i%>)
herzliche Gruesse aus Montreal,
Dalia
guten Abend Dalia,
bist du sicher, daß du wirklich "Javascript meinst ?
so etwas:<%for i = 1 to 10
ist erstens höchst ungewöhnlich und zweitens ziemlich unvollständig. Normalerweise würdest du eine "Zählung mit Javascript" ungefähr so aussehen lassen:
for( i=1; i<x; i++ )
next %>
damit schließt du einen Script-Bereich wie in PHP, das hat höchstwahrscheinlich gar nichts mit Javascript zu tun und das "next" ist nirgends begründet.
und ich moechte nur eine javafunction aufrufen aber weiss nicht wie ich den i uebergeben soll?????
nicht weitergeben, sondern als Variable benutzen wäre die richtige Vorstellung (glaube ich).
die Funktion CalcAmount functioniert nicht!
function CalcAmount(Qty,Amount)
{
document.Purchase.txtAmount<%=i%>.value=Qty * Amount;
}
ja, wie soll sie auch, wenn ihr solches kryptisches und unerklärtes Zeug wie <%=i%> in die Quere kommt.
Es sieht ganz danach aus, als ob du die Syntax einer gänzlich anderen Scriptsprache als Javascript auszugeben versuchst (ich könnte mich damit aber auch irren).
Grüße aus Berlin
Christoph S.
guten Abend Dalia,
ja das ist server/side script (ASP) wo ich in onblur eine javascript funktion aufrufen moechte
ich habe unter "ASP" bisher etwas verstanden, was zwar duerchaus auf Server-Seite realisiert wird, aber gerade deswegen (fast) keinen Zugriff auf Javascript ermöglicht.
Man kann zwar ASP mit Javascript füllen, man kann andere Proggrawmmiersprachen als VBScript verwenden ... aber meines Erachtens sollte man dann bei der einmal gewählten Scriptsprache bleiben, in deinem Fall scheint das dann VBScript zu sein. Was ist der Grund, daß du unbedingt eine Javascript-Funktion einbinden möchtest ? Und: kann man mal eine URL haben, um sich deinen gesamtzen Code anzuschauen und nach eventuellen Fehlern zu suchen ? Ich ahne ganz einfach, daß es den Umfang eines postings und die Geduld eines Forumlesers überfordert, wenn du deinen vollständigen Code hierher schreiben würdest ...
Grüße aus Berlin
Christoph S.
Hallo zusammen!
Ich habe die folgende schleife:
<%for i = 1 to 10
<tr><td><input Type="textbox" name="txtQty<%=i%>" size= "3" maxlength="3"></td>
<td><input Type="textbox" name="txtDescription<%=i%>" size= "30" maxlength="30"></td>
<td><input Type="textbox" name="txtUnitPrice<%=i%>" onblur="CalcAmount(document.Purchase.txtUnitPrice<%=i%>.value,document.Purchase.txtQty<%=i%>.value,<%=i%>)" size= "15" maxlength="15"></td>
<td><input Type="textbox" name="txtAmount<%=i%>" size= "15" maxlength="15"></td>
</tr>
next %>
und ich moechte nur eine javafunction aufrufen aber weiss nicht wie ich den i uebergeben soll?????
die Funktion CalcAmount functioniert nicht!
function CalcAmount(Qty,Amount)
{
document.Purchase.txtAmount<%=i%>.value=Qty * Amount;
}
vielen dank,
Dalia
Hallo Dalia,
erst mal eine kleine Korrektur
<%for i = 1 to 10
muß heißen
<%for i = 1 to 10%>
Zum Problem:
Ich seh da 2 Möglichkeiten:
1. onblur="CalcAmount(document.Purchase.txtUnitPrice<%=i%>.value,document.Purchase.txtQty<%=i%>.value,document.Purchase.txtAmount<%=i%>)"
mit der zugehörigen JS-Funktion
function CalcAmount(UnitPrice,Qty,Target)
{ Target.value=UnitPrice*Qty;
}
2. onblur="CalcAmount(<%=i%>)"
mit der zugehörigen JS-Funktion
function CalcAmount(i)
{ var UnitPrice=eval("document.Purchase.txtUnitPrice"+i);
var Qty=eval("document.Purchase.txtQty"+i);
var Amount=eval("document.Purchase.txtAmount"+i);
Amount.value=UnitPrice.value*Qty.value;
}
Gruß Lutz
Hallo dalie
<%for i = 1 to 10
ich habe zwar bislang wenig in ASP gemacht, bin mir aber ziemlich sicher, dass hier ein %> fehlt
also <% for i=1 to 10 %>
generell ist der Ansatz nicht verkehrt. Allerdings machst du es dir unnötig schwer:
<tr><td><input Type="textbox" name="txtQty<%=i%>" size= "3" maxlength="3"></td>
<td><input Type="textbox" name="txtDescription<%=i%>" size= "30" maxlength="30"></td>
<td><input Type="textbox" name="txtUnitPrice<%=i%>" onblur="CalcAmount(document.Purchase.txtUnitPrice<%=i%>.value,document.Purchase.txtQty<%=i%>.value,<%=i%>)" size= "15" maxlength="15"></td>
Dein Problem liegt in der Funktion selbst. Du wertest i nicht aus
function CalcAmount(Qty,Amount,Elementnummer)
{
document.Purchase["txtAmount"+Elementnummer].value=Qty * Amount;
}
auf diese Weise löst du dein Problem.
hier fehlt wohl wieder ein einleitendes <%
» next %>
Viele Grüße
Antje
PS: Du solltest überprüfen, ob die Werte auch Zahlen sind. Schaue dazu mal in SELFHTML unter JavaScript-->Objekte --> unabhängige Funktionen nach