Formularinhalt an JavaScript übergeben

tequito

Mitglied
Hallo,

ich habe ein kleines Formular, den Inhalt der Eingabefelder würde ich gerne bei Klick auf einen Button einer JavaScript-Funktion übergeben. Wie mache ich das?

Mein HTML sieht so aus:
PHP:
<form action="javascript:;" method="post">
  <label for="grund">Grund</label>
  <select id="grund">
  <option value="#" selected="selected">Bitte wählen</option>
  <option value="0">User ist ein Fake</option>
  <option value="1">User belästigt andere User</option>
  <option value="2">Unechtes Profil</option>
  </select>
  <label for="bemerkung">Bemerkung</label>
  <textarea id="bemerkung"></textarea>
  <button onclick="melden()">Melden</button>
  <button onclick="doch_nicht()">Abbrechen</button>
</form>

Ich verwende deshalb JavaScript, weil dieses via AJAX eine PHP-Datei mit eben diesem Inhalt aus dem Formular anschubsen soll und die Seite so nicht neu laden muss.

Meine JavaScript-Datei sieht derzeit so aus:
PHP:
function melden(grund, bemerkung, user_id)
{
  $.ajax(
  {
    type: "POST",
    url: "sendmail.php",
    data: "grund=" + grund + "&bemerkung=" + bemerkung,
    success: function(){
      alert( "Der User mit der ID \"" + user_id + "\" wurde gemeldet." );
    }
  }
  );
}


Wen der JavaScript-Code verwirrt -> Ich verwende jQuery als JavaScript-Bibliothek. ;)

Leider weiß ich nicht, wie ich die Daten aus "Grund" und "Bemerkung" in der JavaScript-Datei bei "data" verarbeiten kann?
 
So müsste es gehen, wenn du das in dein Script einbaust.

Javascript:
grund = document.forms[0].grund.value;
bemerkung = document.forms[0].bemerkung.value;

Für forms[0] kann natürlich auch der Formularname angegeben werden, und du musst auch die Variablen nicht an die Funktion übergeben. Außerdem musst du den Formularfeldern die Namen 'grund' und 'bemerkung' geben.
 
Zuletzt bearbeitet von einem Moderator:
Hi Ich habe ein ändliches Problem mit einer JQery Textarea ... =(
Das Problem ist, dass die Eingabe nicht abgefragt werden kann. D.h. wenn ich etwas in die Textarea schreibe und dann auf einen Form Button drücke und aufgrund dessen eine Javascript Funktion ausführe. Dann ist die Value der Textarea immer leer d.h. = "" ... erst nach einen refresh oder wenn das Form abgesendet wird, ist die Value dann vorhanden. =(

Kann mir da einer helfen?

Ich denke mal, dass das Problem bei JQuery liegen könnte. Ev. bereitet dieses die Eingaben erst bei absendung des Forms auf und übergibt sie in die Value. Ich hingegen will die Eingabe per Javaskript auf der selben Seite weiterverarbeiten.

Ich wäre über Hilfe sehr dankbar :D
 
Hi,

gibts das irgendwo online?

Ansonsten wäre es gut, wenn du das verwendete JavaScript und den zugehörigen HTML-Code zeigen würdest.

Ciao
Quaese
 
Hi

Leider ist das Ganze nirgends online. Ich versuche mal alle meiner Meinung nach wichtigen Code Schnippsel zu posten. Ich hoffe die reichen :D


Die Textarea
Code:
<textarea id="htmltextarea" name="htmltext" style="width:550px; height:200px"></textarea>

Per Submit wird gecheckt ob eine Eingabe getätigt wurde.. wenn nicht wird ein Alert ausgegeben:
Code:
<input type="submit" name="uploadhtml" value="Speichern" />

Diese Funktion checkt das Formular (wird ausgeführt)
Code:
chkhtmlform = function()
{

	if(document.htmlform.htmlname.value == "")  
	{
  		alert("Bitte Titel eingeben!");
   		document.htmlform.htmlname.focus();
   		return false;
  	}
	
 	if(document.htmlform.htmltext.value == "")
	{
		alert("Bitte einen Text eingeben!");
		document.htmlform.htmltext.focus();
		return false;
	}
	

};

Das Problem ist nun wenn das erste mal auf Spreichern gecklickt wird, sprich das Formular das erste mal abgeschickt wird, kommt die alert Box "Bitte Text eingeben" beim zweiten mal gehts dann richtig ... eine Idee warum?
 
oke habs gefunden.... es lag daran, dass ich eine Textarea mit tinyMCE erstellt habe. dort ist das Problem bekannt ...

Vielen Dank für deine Bemühungen :D
 
Hi,

vielleicht könntest du den Lösungsweg kurz skizzieren. So haben andere User mit dem gleichen Problem eine Hilfestellung.

Besten Dank im voraus!

Ciao
Quaese
 
Ich grabe hier mal einen alten Beitrag wieder aus ^^

Also zu meiner Lösung :
Es gibt keine !
Diese TinyMCE textarea wird irgendwie per iframe eingefügt und javascript ist es verboten Daten aus fremden Frames zu lesen. Also ich habs nie geschafft irgendwelche Daten aus dieser TinyMCE Textarea zu lesen.
=(

Also für alle, die das selbe Problem haben. Es ist nicht möglich. Aber ev. kann man das ganze mit anderen Tricks umgehen. Habe mich nie weiter damit beschäftigt.
 
Hallo!

Ich habe gerade das selbe Problem.
Ich habe mir auch schon die Antworten durchgelesen, aber habe nichts verstanden.
Könntet ihr mir noch mal den Quellcode schicken.

Ich danke euch schon mal.

Alex S.
 
Zurück