jQuery .attr('value') den Wert undefiniert zurückgibt, für den text-Bereich

Ich habe eine Seite, die dynamisch und bringt in einem Formular über ajax und zeigt es in einem modalen div (eine, die sitzt oben ein overlay-div über die gesamte Seite). Dies ist, lassen Sie Sie speichern bestimmter Daten, bevor das Fenster schließt. Alles funktioniert Super außer eine Sache.

$('#save_close_form').find('*[name]').each(function(index, form_element) {
    var cfe = (form_element.jquery == undefined ? $(form_element) : form_element);
    console.log(cfe.attr('name') + " => " + cfe.attr('value'));
    if (cfe.attr('name').match(/data\[/)) {
        if (cfe.attr('type') == 'checkbox') {
            if (cfe.attr('checked')) {
                map[cfe.attr('name')] = 'on';
            }
            else {
                map[cfe.attr('name')] = '';
            }
        }
        else if (cfe.attr('type') == 'radio') {
            //only get checked radio buttons
            if (cfe.attr('checked')) {
                map[cfe.attr('name')] = cfe.attr('value');
            }
        }
        else {
            map[cfe.attr('name')] = cfe.attr('value');
        }
    }
});

Der Teil in der else {} - Klausel am Ende löst für TextArea und input type="text" Elemente, aber für einige Grund es sieht immer cfe.attr('value'); als undefined für die TextArea. Ich bin mit der FF6.0 mit jQuery 1.6.

Warum bist du nicht mit cfe.val()?
in einer vorherigen version von diesem code habe ich ausprobiert und es funktionierte nie. die seltsame Sache ist, dass der obige code war gut funktioniert, bis vor kurzem, als ich habe ein Upgrade JQ von 1.3 bis 1.6

InformationsquelleAutor Derek | 2011-08-24

Schreibe einen Kommentar