JQuery erstellt ein Formular und fügt ihm programmgesteuert Elemente hinzu

Lesezeit: 2 Minuten

Hallo, ich muss ein Formular erstellen und Elemente programmgesteuert hinzufügen.

$form = $("<form></form>");
$form.append("<input type=button value=button");

das scheint nicht richtig zu funktionieren.

  • natürlich nicht. Sie haben in der zweiten Zeile kein gültiges Element hinzugefügt.

    – Gabi Purcaru

    21. Dezember 2010 um 7:41 Uhr

Benutzer-Avatar
Sarfraz

Sie müssen anhängen form selbst zu body zu:

$form = $("<form></form>");
$form.append('<input type="button" value="button">');
$('body').append($form);

Benutzer-Avatar
Arvin

Die zweite Zeile sollte wie folgt geschrieben werden:

$form.append('<input type="button" value="button">');

  • Nein, sollte es nicht … Verwenden Sie Anführungszeichen richtig! .append('<input type="button" value="button" />');

    – Basic

    1. August 2013 um 12:33 Uhr


  • Bestätigt, der folgende Vorschlag sollte dieser Antwort hinzugefügt werden. Wenn Sie das Formular nicht an den Hauptteil anhängen, wird es bei Firefox v40.0.3 nicht gesendet.

    – KJN

    1. September 2015 um 13:37 Uhr


  • Den abschließenden Schrägstrich habe ich entfernt. input Elemente nicht zulassen content.

    – Sebas

    30. September 2015 um 4:17 Uhr

Benutzer-Avatar
Sergio Viera

var form = $("<form/>", 
                 { action:'/myaction' }
            );
form.append( 
    $("<input>", 
         { type:'text', 
           placeholder:'Keywords', 
           name:'keyword', 
           style:'width:65%' }
     )
);

form.append( 
     $("<input>", 
          { type:'submit', 
            value:'Search', 
            style:'width:30%' }
       )
);

$("#someDivId").append(form);

  • Dies sieht aus wie Javascript, der beste Weg, dies zu tun, sollte jedoch HTML-Markup und danach Javascript verwenden

    – Decebal

    9. Dezember 2013 um 9:53 Uhr

  • @decebal – this looks like javascript — Die jQuery-Bibliothek über JavaScript. Und es baut HTML-Markup auf und fügt es dann spontan in das HTML-Dokument ein. Und das ist der Sinn des OP – so viel wie möglich in jQuery zu tun.

    – Jesse Chisholm

    10. Oktober 2015 um 18:30 Uhr


Benutzer-Avatar
Manoj Bhambere

function setValToAssessment(id)
{

     $.getJSON("<?= URL.$param->module."https://stackoverflow.com/".$param->controller?>/setvalue",{id: id}, function(response)
     {
        var form = $('<form></form>').attr("id",'hiddenForm' ).attr("name", 'hiddenForm'); 
         $.each(response,function(key,value){
            $("<input type="text" value=""+value+"" >")
 .attr("id", key)
 .attr("name", key)
 .appendTo("form");


             });
              $('#hiddenForm').appendTo('body').submit();

        // window.location.href = "https://stackoverflow.com/questions/4497140/<?=URL.$param->module?>/assessment";
    });

}     

Benutzer-Avatar
Schurdoof

Das Tag ist nicht geschlossen:

$form.append("<input type=button value=button");

Sollte sein:

$form.append('<input type="button" value="button">');

Benutzer-Avatar
Cyntech

Verwendung von Jquery

Anstatt temporäre Variablen zu erstellen, kann es wie folgt in einem kontinuierlichen Flussmuster geschrieben werden:

$('<form/>', { action: url, method: 'POST' }).append(
    $('<input>', {type: 'hidden', id: 'id_field_1', name: 'name_field_1', value: val_field_1}),
    $('<input>', {type: 'hidden', id: 'id_field_2', name: 'name_field_2', value: val_field_2}),
).appendTo('body').submit();

1205340cookie-checkJQuery erstellt ein Formular und fügt ihm programmgesteuert Elemente hinzu

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy