2016-09-02 3 views
1

Ich habe den folgenden Code in index.jsp verwendet, um den Wert von textarea INPUT_TEXT und INPUT_TEXT2 in einem Formular nach umfangreicher Verarbeitung, wobei der Text ein Servlet, eine Java-Klasse und die Vorverarbeitete Daten werden dann in das zweite Textfeld zurückgeleitet.Anzeige Text in Textarea mit Javascript

CODE I:

<td> 
<% 
    String txtvalue=""; 
    if(request.getAttribute("x")!=null){ 
     txtvalue=request.getAttribute("x").toString(); 
     System.out.println("txtvalue= "+txtvalue); 
}%> 

<textarea id="INPUT_TEXT" name="INPUT_TEXT" style="font-size: 13pt;" rows="15" cols="50"><%=txtvalue%></textarea> 
</td> 

<td> 
<% 
    String txt=""; 
    if(request.getAttribute("y")!=null){ 
     txt=request.getAttribute("y").toString(); 
     System.out.println("txt= "+txt); 
}%> 

<textarea id="INPUT_TEXT2" name="INPUT_TEXT2" style="font-size: 13pt;" rows="15" cols="50"><%=txt%></textarea> 
</td> 

ich unter Verwendung versucht

1) innerHTML-,

2) Einstellen des Wertes document.getElementById Verwendung ("input_text") und

3) die vorliegende Methode, die ich im Code I angegeben habe.

Leider funktioniert nichts!

Methode 3 (Code I) verwendeten zu arbeiten, aber dann hatte ich einige Änderungen in der Funktion zu machen, die nach Onclick aufgerufen wird, um eine POST-Anforderung zu machen, die wie folgt aussieht jetzt:

CODE II

function submitPreprocessForm() { 
    var postData=$("#maryWebClient").serializeArray(); 
    $.ajax({ 
    url: "preprocess", 
    context:this, 
    type:"POST", 
    dataType:"JSON", 
    data:postData, 
    contentType: "application/x-www-form-urlencoded;charset=utf-8", 
    success: function(response){ 
    } 
}); 
} 

nun die txt und txtvalue (Code I) werden gedruckt nur auf die NetBeans Ausgabekonsole (richtig, wie ich hinzufügen) aber nicht auf die Webseite, die zurückgesetzt wird, wenn ich auf der Absenden-Button Obwohl das gesamte interne Funktionieren perfekt funktioniert, ist das einzige Problem, dass Text nicht in den jeweiligen Textfeldern angezeigt wird. Bitte helfen.

+0

Was bekommen Sie in "Antwort"? Zeige das Ergebnis von 'console.log (response)' – Vineet

+0

Du könntest versuchen ' '. Der Wert in textarea erhalten Sie, indem Sie einen Verweis auf das Eingabefeld in einem Element erhalten und dann element.value aufrufen. Sie können es bekommen oder einstellen. –

+0

Nein, Sie können keinen Wert als Attribut in 'textarea' festlegen. Sie müssen den HTML-Code in die 'textarea' Tags schreiben. – Vineet

Antwort

0

Der folgende Ansatz löste mein Problem und Text wird im Textbereich angezeigt.

success: function(response){ 
      $("#INPUT_TEXT").val(response["x"]); 
      $("#INPUT_TEXT2").val(response["y"]); 
     }, 

Ich hatte die <%=txtvalue%> zu entfernen, da es das Textfeld verursachte null initialisiert werden.