2017-04-18 3 views
0

Ich möchte den Wert aller Eingaben von einem Formular über JQuery in ein Array erhalten, die über GET über AJAX gesendet werden.JQuery - Wie durchläuft man alle Formulareingaben?

habe ich versucht, die folgenden, aber es hat nicht funktioniert:

function gatherFormData(){ 
    $('#formId input, #formId select').each(
    function(index){ 
     var result = []; 
     for(var i =0; i < $(this).length; i++){ 
     document.write(input.attr('name') + "-" + input.attr('name') + "<br />"); 
     result.push(input.attr('name')); 
     result.push(input.val()); 
     } 
    return result; 
    } 
    ); 
} 

Wie kann ich die Werte aller von ihnen bekommen?

+1

Try 'FORM.find (': input')' – Rayon

+1

[ '.serializeArray()'] (https: //api.jquery .com/serializeArray /) tut das schon zB '$ ('# formId'). serializeArray()' – Satpal

Antwort

1

Versuchen Sie, die folgende Weise:

var jsonObj = []; 
 
$(":input").each(function(){ 
 
var key = $(this).attr('name'); 
 
var val = $(this).val(); 
 
item = {} 
 
item [key] = val; 
 

 
jsonObj.push(item); 
 
}); 
 

 
console.log(jsonObj); 
 
// Now pass it like jsonObj[0], jsonObj[1]......
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    <input type="text" name="name" id="txtName" value="John" /> 
 
    <input type="text" name="email" id="txtEmail" value="[email protected]" /> 
 
    <div> 
 
    <input type="checkbox" name="active" id="chkIsActive" checked /> 
 
    </div> 
 
    <input type="submit" value="qweqsac" /> 
 
</form>

+0

Danke! Aber ich möchte sie alle in ein "Get" -Format sammeln, um über AJAX gesendet zu werden. – Bob

+0

Dann müssen Sie ein Objekt mit all diesen Werten erstellen. – Mamun

+1

Hallo Bob, der geänderte Code im Snippet könnte dir helfen. – Mamun

Verwandte Themen