2013-07-17 16 views
16

Wenn ich ein Formular mit der serialize() -Methode von jQuery einreiche, wird alles mit Ausnahme der TextArea im Formular übergeben. Ist das ein häufiges Problem? Ich kann es nicht herausfinden. Das Formular funktioniert nur für den Textbereich, der undefiniert bleibt ???jQuery serialize() löscht TextArea

<textarea form="new_note_form" id="note_text" name="note_text" required="required"></textarea>  
+0

Das passiert mir nicht. Woher weißt du, dass die ' '. Sieht so aus, als hätte es ein 'name' Attribut für mich. – naomik

0

ich die gleiche Erfahrung haben. Senden eines Formulars mit $ ("# form_id"). Serialize() enthält keine Textarea-Felder. Dieses Verhalten ist für die letzten 2 Jahre in der einzigen Form, die textarea Elemente hat, konsistent. Hin und wieder überprüfe ich Form und Code, um daraus zu schließen, dass es funktionieren sollte, aber nicht.

Meine Überraschung ist, den Inhalt der Textareas zuerst in versteckte Textfelder zu verschieben und dann die Formulardaten zu serialisieren. .

0

Eine weitere Arbeit um für diese ist es, die Textarea-Wert in eine Variable drehen und übergeben Sie, dass mit der Ajax-Aufruf ...

var comment = $ ('note_comment') val();

  $.ajax({ 
       type: "POST", 
       url: '/approot/rewrite.cfm/app.people/insertNote?format=json&Comment=' + comment, 
       data: $("form[name='add_note_form']").serializeArray(), 
       success: function(data) 
       { 
       alert('success');   
       } 
      }); 
18

Es funktioniert nicht bis Sie name Attribut auf das Textfeld hinzuzufügen.

<textarea id="sLifeStyle3Content" name="sLifeStyle3Content" placeholder="HTML is allowed"> <apex:outputText value="{!sLifeStyle3Content}" /> </textarea>

-1

Wir liefen in das gleiche Problem mit einem Textfeld nicht trotz des Namens-Attribut serialisiert, und bemerkte, dass es auf dem in Form hing das Textfeld platziert wurde. Wir hatten den Luxus, den Textbereich an einen anderen Ort auf dem Formular zu verschieben, um das Problem zu lösen.

0

Es lässt sich die Textarea, es sei denn, Sie entfernen 'form = "new_note_form"' von Ihrem textarea-Element.

Ich weiß, dass es gegen gute Praktiken ist, aber, wenn Sie die serialize-Funktion von jQuery verwenden möchten, müssen Sie dieses Attribut aus Textarea-Element entfernen.

0

Wenn der Textbereich von einem Editor wie tinyMCE gesteuert wird, müssen Sie möglicherweise tinyMCE.triggerSave() aufrufen, wie in this answer beschrieben.