2 Stimmen

Wie erhält man den Wert eines Feldes mit demselben Namen in mehreren Formularen?

Ich entwickle eine Webanwendung, in der das gleiche HTML-Formular dynamisch mit AJAX generiert/geladen wird.

Hier ist das Beispielformular (fast 20 Formulare werden gleichzeitig geladen):

<div class="replybox" id="rbox1">
    <cite>
        <form action="" method="post" id="replypostform">       
            <p>
                <textarea id="replytxt" name="replytxt" rows="2" cols="43" class="replytextarea"></textarea>
                <input class="button" type="submit" value="Reply"/>
            </p>    
        </form>
    </cite>
</div>

Und ich bin mit dem jQuery Validierung Plugin, um sie zu validieren. Die Formularvalidierung funktioniert gut, aber jetzt muss ich nur den Inhalt von textarea bei der Vorlage, wenn ich einfach die .val() Funktion nur die ersten Formulare zurück. textarea Inhalt.

Aber ich möchte den Inhalt der textarea auf die der Benutzer geklickt hat.

Hier ist mein Jquery-Validierungscode:

jQuery("#replypostform").live('mouseover', function(){
    jQuery(this).validate({
        errorElement:'div',
            rules: {
                replytxt:{
                    required: true
                }
            },
            messages: {
                replytxt:{
                    required: "<div style='color:red'>Please write a reply for posting it.</div>"
                }
            },
            submitHandler:function(mform){

            //here I want get the content of textarea
        }
    });
});

Hier habe ich gerade einen Trick mit Mouseover-Ereignis, um die mehrere Form mit gleichen Namen / ID und gleiche Felder zu validieren.

Meine Seite lädt etwa 20 genau das gleiche Formular mit AJAX.

Schlagen Sie mir also vor, wie ich den Inhalt von textarea einer bestimmten Form.

-Danke

1voto

Rory McCrossan Punkte 318758

Versuchen Sie dies:

//here I want get the content of textarea
var textareaValue = $("#replytxt", this).val();

Le site this liefert den Kontext der form die die mouseover Ereignis für die Suche nach dem #replytxt in.

0voto

Rafay Punkte 30734
$("#replypostform").find("#replytxt").val();

auch das Blubbern des Ereignisses stoppen

jQuery("#replypostform").live('mouseover',function(e){
 e.stopPropagation();

und erhalten den Inhalt des Textbereichs wie

$(this).find("#replytxt").text();

0voto

Peeyush Punkte 4568

Ich habe das ausprobiert und es funktioniert

Ich weiß, es ist nicht der richtige Weg, aber dieser Trick hat funktioniert.

hier ist mein jQuery-Code:

textBoxVal="";
        jQuery("#replytxt").live('keyup',function(){
        textBoxVal=jQuery(this).val();

        });

dann in submitHandler()

Ich habe "textBoxVal"-Werte verwendet.

-2voto

Arda Punkte 6208

Essayez eq() um ein bestimmtes Element zu finden:

wie in:

$('textarea').eq(0).val()

Edit: ein weiteres Beispiel für Selektoren:

Der Textbereich des ersten Formulars:

$('form:eq(0) textarea').val();

Das 3. Textfeld des zweiten Formulars:

$('form:eq(1) textarea:eq(2)').val();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X