formular->textarea->werte
Thomas Michel
- javascript
Hallo zusammen
Wiso wird der name des formulares nicht übergeben? Wenn ich dem Script die vaialben ändere in den übergebenen text funktioniert alles problemlos... wo liegt der Fehler?
mfG
Thomas
<script>
function bild(theform,name)
{
alert(1);
alert(theform.value);
if ((name != null) && (name != ""))
{
theform.value += "[bild]"+name+"[/bild] ";
}
theform.focus();
}
</script>
<form><table border="1"><tr>
<td>
<img src="../img/upload/1.jpg">
</td>
<td>
<input type="radio" value="1.jpg" name="grafik" onClick="javascript:bild('this.form.text','1.jpg')">
</td>
</tr><tr>
<td>
<img src="../img/upload/2.jpg">
</td>
<td>
<input type="radio" value="2.jpg" name="grafik" onClick="javascript:bild('this.form.text','2.jpg')">
</td>
</tr></table>
<textarea rows="8" name="text" cols="50"></textarea>
</form>
Hallo zusammen
Wiso wird der name des formulares nicht übergeben?
Vielleicht liegts daran:
<form><table border="1"><tr>
Kein Name definiert.
Abgesehen davon machst du einige abgefahrene Sachen, die zwar sicher einen coolen Effekt haben, aber bestimmt keinen Sinn machen.
<script>
function bild(theform,name)
{
alert(1);
alert(theform.value);
Wenn theform hier ein Objekt wäre, würde es tatsächlich funktionieren...
Aber der Aufruf mit onClick="javascript:bild('this.form.text','1.jpg')" übergibt einen String.
if ((name != null) && (name != ""))
{
theform.value += "[bild]"+name+"[/bild] ";
Hier wird ein Wert gebildet, der nirgenwo hingeschrieben wird (wegen siehe oben)
}
theform.focus();
Und hier kriegt ein String den Focus. Abgefahren! ;)
}
</script>
<form><table border="1"><tr>
<td>
<img src="../img/upload/1.jpg">
</td>
<td>
<input type="radio" value="1.jpg" name="grafik" onClick="javascript:bild('this.form.text','1.jpg')">
Was soll uns dieser Radiobutton sagen? Willst du je nach Radiobutton die eine oder die andere Grafik selektieren? Und was willst du dann mit der Selektion machen?
</td>
</tr><tr>
<td>
<img src="../img/upload/2.jpg">
</td>
<td>
<input type="radio" value="2.jpg" name="grafik" onClick="javascript:bild('this.form.text','2.jpg')">
</td>
</tr></table>
<textarea rows="8" name="text" cols="50"></textarea>
Hat die Textarea eine gewisse Bedeutung?
</form>
Tja, außer einer unverständlichen Frage und ein paar heftigen Javascript-Fehlern ist da nicht viel rauszufinden. Insbesondere fehlt die Beschreibung, was das Script denn eigentlich tun sollte (und offenbar nicht tut).
- Sven Rautenberg
Hallo
Der script soll folgendes...
er soll in das textarea (wenn ich das erste bild auswähle)
[bild]1.jpg[/bild] reinschreiben....
das problem sind vermutlich die anführungszeichen :)
mfG
Thomas Michel
Hallo
Der script soll folgendes...
er soll in das textarea (wenn ich das erste bild auswähle)
[bild]1.jpg[/bild] reinschreiben....
das problem sind vermutlich die anführungszeichen :)
Wie ich schon sagte: Das Formular hat keinen Namen (und keine Action, die ist aber laut Standard zwingend anzugeben).
Mit einem Namen kannst du dann über
document.FORUMIULARNAME.FORMULARELEMENTNAME.EIGENSCHAFT
auf die Elemente des Formulars zugreifen. Vorher nicht, da gehts nur mit
document.forms[0].FORMULARELEMENTNAME.EIGENSCHAFT
Und dann mußt du checken, was du so an die Funktionen durchreichst. Ideal sind zwar Strings, aber die Funktion muß die dann auch sinnvoll verarbeiten können. ;)
Zum Beispiel ist doch recht fragwürdig, warum du der Funktion zweimal identisch sagen willst (funktionieren tut es so ja nicht), sie möge doch bitte die Textarea ändern. Gibts mehrere Textareas? Muß das Klicken eines einzelnen Radiobuttons mal in die eine, mal in die andere Textarea gehen? Wo wird das dann umgeschaltet?
Eigentlich willst du doch nur bei Button 1 das Bild 1 und bei Button 2 das Bild 2 eintragen. Warum du dazu Radiobuttons genommen hast, ist mir zweifelhaft (die haben in der Regel eine völlig andere Funktionsbedeutung), nimm doch lieber einen normalen Button, oder bastel vor dem Absenden deine Textarea zusammen.
Ansonsten:
function bild(bildtext) {
document.FORMULARNAME.text.value = document.FORMULARNAME.text.value +'[bild]'+bildtext+'[/bild]';
}
onclick="bild('bild.jpg');"
- Sven Rautenberg
Hallo
Der script soll folgendes...
er soll in das textarea (wenn ich das erste bild auswähle)
[bild]1.jpg[/bild] reinschreiben....
das problem sind vermutlich die anführungszeichen :)
Wie ich schon sagte: Das Formular hat keinen Namen (und keine Action, die ist aber laut Standard zwingend anzugeben).
Mit einem Namen kannst du dann über
document.FORUMIULARNAME.FORMULARELEMENTNAME.EIGENSCHAFT
auf die Elemente des Formulars zugreifen. Vorher nicht, da gehts nur mit
document.forms[0].FORMULARELEMENTNAME.EIGENSCHAFT
Und dann mußt du checken, was du so an die Funktionen durchreichst. Ideal sind zwar Strings, aber die Funktion muß die dann auch sinnvoll verarbeiten können. ;)
Zum Beispiel ist doch recht fragwürdig, warum du der Funktion zweimal identisch sagen willst (funktionieren tut es so ja nicht), sie möge doch bitte die Textarea ändern. Gibts mehrere Textareas? Muß das Klicken eines einzelnen Radiobuttons mal in die eine, mal in die andere Textarea gehen? Wo wird das dann umgeschaltet?
Eigentlich willst du doch nur bei Button 1 das Bild 1 und bei Button 2 das Bild 2 eintragen. Warum du dazu Radiobuttons genommen hast, ist mir zweifelhaft (die haben in der Regel eine völlig andere Funktionsbedeutung), nimm doch lieber einen normalen Button, oder bastel vor dem Absenden deine Textarea zusammen.
Ansonsten:
function bild(bildtext) {
document.FORMULARNAME.text.value = document.FORMULARNAME.text.value +'[bild]'+bildtext+'[/bild]';
}
onclick="bild('bild.jpg');"
- Sven Rautenberg
Hallo
Aus dem ganzen wird eine bildauswahl in einem cms system entsehen... D.h es werden div bilder hochgeladen per formular hochgeladen.. nun kann ein knopf gedrückt werden dabei öffnet sich ein fenster mit den bildern nun soll der user ein bild auswählen können und die bildeinstellungen sollen einem textarea hinen geschrieben werden.
Das ganze geht jetzt so wie ich es wollte auf einer seite :)
mfG
Thomas
Hallo
onClick="javascript:bild(this.form.text,'1.jpg')"
Ohne die Hochkommata funktioniert das Script einwandfrei.
Tja, außer einer unverständlichen Frage und ein paar heftigen Javascript-Fehlern ist da nicht viel rauszufinden.
Naja, so heftig sind sie nun auch nicht, oder?
Könnte man schon fast als ein Versehen abtun.
Grüße
Daniel