"das objekt unterstützt diese eigenschaft oder methode nicht"
Sorgenkind mech
- javascript
nabend
ich hab schonwieder n dicken hals weil ich nich rausbekomme woran es liegt
folgendes problem:
eine seite wird per php generiert
aufbau:
<allgemeine einstellungen>
<kopftext>
-table-
<positionsnummer>|<beschreibung>|..|<button entfernen (name=entfxxx) onclick=delpos(positionsnummer)>
-/table-
soweit so gut, von den zeilen da gibbet natürlich mehrere und die xxx beim buttonnamen ist die jeweilige positionsnummer
letztendlich hat dieser button die aufgabe diese eine tabellenzeile zu löschen
wie man sieht wird eine js-funktion aufgerufen, und dabei kommt die fehlermeldung
im folgenden mal ein beispielcode, der generiert wurde (der fehler tritt immer auf, auch egal welchen entfernen-button ich nutze):
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language=javascript>
function dazua()
{
document.getElementById('action').value="addart";
document.getElementById('rsatztyp').value="a";
document.getElementById('addmenge').value = window.prompt("Menge:","1");
if(document.getElementById('addart').value!="")
{
if(document.getElementById('addmenge').value!="")
{
document.forms["dok"].submit();
}
}
else alert("Keine Artikelnummer eingegeben!");
}
function dazuk()
{
document.getElementById('action').value="addart";
document.getElementById('rsatztyp').value="k";
document.getElementById('addmenge').value = window.prompt("Menge:","1");
if(document.getElementById('addart').value!="")
{
if(document.getElementById('addmenge').value!="")
{
document.forms["dok"].submit();
}
}
else alert("Keine Artikelnummer eingegeben!");
}
function fuertext()
{
if(document.forms["dok"].anrede.value=="Frau") document.forms["dok"].genus.value="geehrte";
if(document.forms["dok"].anrede.value=="Fa.") document.forms["dok"].genus.value="geehrte";
if(document.forms["dok"].anrede.value=="Herr") document.forms["dok"].genus.value="geehrter";
if(document.forms["dok"].anrede.value=="Familie") document.forms["dok"].genus.value="geehrte";
if(document.forms["dok"].ansprechpartnername.value!="" && document.forms["dok"].anrede.value!="")
{
var name=document.forms["dok"].ansprechpartnername.value;
if(!document.forms["dok"].vornamezeigen.checked)
{
name = name.split(" ");
name = name[1];
if(!name) name=document.forms["dok"].ansprechpartnername.value;
}
document.getElementById("kopftext").innerHTML="Sehr " + document.forms["dok"].genus.value + " " + document.forms["dok"].anrede.value + " " + name;
}
}
function delpos(id)
{ // <-- hier will er mit n fehler reinwürgen!
if(window.promt("Wollen sie die Position " + id + " wirklich entfernen?"))
{
document.getElementById('action').value="delart";
document.getElementById('delid').value=id;
document.forms["dok"].submit();
}
}
</script>
</head>
<body bgcolor="#FFFFFF">
<form name="dok" action="kunde-ab.html" method="post">
<input type='hidden' name='action'>
<input type='hidden' name='addmenge'>
<input type='hidden' name='delid'>
<input type='hidden' name='rsatztyp'>
<input type='hidden' name='rid' value='1'>
<input type='hidden' name='markkunde' value='1'>
[.........jede menge zeugs........]
<table>
<tr>
<td></td>
<td align=center id=textbereich>
<textarea cols=50 rows=5 name='kopftext'>Sehr geehrter Herr ..</textarea>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td><b>Pos.</b></td>
<td><b>Bezeichnung / Beschreibung</b></td>
<td><b>Menge</b></td>
<td><b>Preis</b></td>
<td><b>Aktionen</b></td>
</tr>
<tr>
<td>1</td>
<td><textarea cols=50 rows=5 name='pos0'> </textarea></td>
<td valign=top><input type=text size=5 name='menge1' value='1'></td>
<td valign=top><input type=text size=5 name='preis1' value=''></td>
<td><input type='button' name='entfernen1' value='Entfernen' onclick=delpos('1')></td>
</tr>
<tr>
<td>2</td>
<td><textarea cols=50 rows=5 name='pos1'> [...] </textarea></td>
<td valign=top><input type=text size=5 name='menge2' value='1'></td>
<td valign=top><input type=text size=5 name='preis2' value='123'></td>
<td><input type='button' name='entfernen2' value='Entfernen' onclick=delpos('2')></td>
</tr>
</table>
</form>
</body>
</html>
_____________________________________________
hoffe jemand weiß rat
ich tippe ja drauf , dass es n richtig schön bescheuerter fehler is, aber ich komme nich drauf ;(
danke im voraus
Hallo mech,
document.getElementById('action').value="addart";
Damit suchst du nach irgend einem html-Tag, der ein id-Attribut mit dem Wert 'action' enthält. Du würdest also beispielsweise sowas finden:
<img src="wasauchimmer.gif" id="action">
Oder auch sowas:
<input type='hidden' id='action'>
Aber nicht sowas:
<input type='hidden' name='action'>
Das kannst du am einfachsten ansprechen mit:
document.dok.action.value = "addart";
Allerdings geht das auch noch nicht ganz, weil du damit wahrscheinlich eher den Wert des action-Attributs des Formulars ändern würdest. Am besten ist's also, wenn du das versteckte Eingabefeld anders nennst:
<input type='hidden' name='cgiaction'>
Und dann so ansprichst:
document.dok.cgiaction.value = "addart";
[...]
document.getElementById('delid').value=id;
Hier natürlich genauso:
document.dok.delid.value = id;
Viel Erfolg,
Robert
PS:
if(window.promt("Wollen sie die Position " + id + " wirklich entfernen?"))
"Möchten" klingt IMHO höflicher als "wollen".
Hallo mech,
hallo robert
document.getElementById('action').value="addart";
Damit suchst du nach irgend einem html-Tag, der ein id-Attribut mit dem Wert 'action' enthält. Du würdest also beispielsweise sowas finden:
<img src="wasauchimmer.gif" id="action">
Oder auch sowas:
<input type='hidden' id='action'>
Aber nicht sowas:
<input type='hidden' name='action'>
da muss ich widersprechen, denn es noch 2 andere funktionen, welche selbiges problemlos tun
vielleicht sollte ich noch nebenbei erwähnen, dass das ganze explizit für den IE ab 5.5 ist
Viel Erfolg,
Robert
auch wenn ich nich weiter bin, danke
PS:
if(window.promt("Wollen sie die Position " + id + " wirklich entfernen?"))
"Möchten" klingt IMHO höflicher als "wollen".
okok, darüber will ich jetz ních streiten ;)=
auch wenn ich leicht geneigt bin dir zuzustimmen ;)
grüße
Hallo mech,
da muss ich widersprechen, denn es noch 2 andere funktionen, welche selbiges problemlos tun
Komisch, hätte ich nicht so erwartet.
vielleicht sollte ich noch nebenbei erwähnen, dass das ganze explizit für den IE ab 5.5 ist
Habs jetzt gerade ausprobiert. Bei mir "würgt" er den Fehler in Zeile 54 "rein", das ist eine Zeile weiter unten (die erste Zeile hat für IE anscheinend den Index 1, nicht 0).
Du hast in deinem Ausgangsposting geschrieben, du hoffst, dass "es n richtig schön bescheuerter fehler is". Deine Wünsche sind in Erfüllung gegangen ;-)
if(window.prompt("Wollen sie die Position " + id + " wirklich entfernen?"))
^
Das zweite p in "prompt" hat gefehlt. So funktionierts, allerdings ist prompt in diesem Fall wahrscheinlich sowieso die falsche Funktion, besser wäre confirm.
viele Grüße,
Robert