2 Stimmen

Kann die Eigenschaft 'Value' nicht lesen

Ich habe buchstäblich den größten Teil meines Tages damit verbracht, dieses Problem zu lösen. Ein wenig Hintergrund: Ich gestalte ein mehrstufiges Formular, einer der Schritte besteht darin, zwischen zwei Optionen zu wählen (beides sind Optionsfelder).

Zum Beispiel, Schritt 1 ist die Auswahl des Geschlechts "männlich" oder "weiblich" und der zweite Schritt ist die Eingabe von etwas in das Texteingabefeld. Das Problem, das ich habe, ist, dass wenn ich ein Geschlecht wähle, es nicht zum zweiten Schritt geht. Ich hatte auch ein Problem, bei dem es zum zweiten Schritt ging, aber der zurückgegebene Wert war "unbekannt".

$('#gpadding input:radio').addClass('input_hide');
$('label').click(function() {
   $(this).addClass('selected').siblings().removeClass('selected');
});

var gender, fname, lname;
function _(x) {
   return document.getElementById(x);
}

function next1() {
      gender = _("gender").value;
      _("step1").style.display = "none";
      _("step2").style.display = "block";
}

function next2() {
   fname = _("firstname").value;
   lname = _("lastname").value;
      _("step2").style.display = "none";
      _("show_all_data").style.display = "block";
      _("display_gender").innerHTML = gender;
      _("display_fname").innerHTML = fname;
      _("display_lname").innerHTML = lname;
}

  Geschlecht

           MÄNNLICH

           WEIBLICH

     Weiter
     Schließen

  Name

     Weiter
     Schließen

  Vollständig

     Registrieren
     Schließen

1voto

Roko C. Buljan Punkte 178158
  • Sie können

    nicht innerhalb eines verwenden.

  • Vergewissern Sie sich, dass die ID-Selektoren, auf die Sie abzielen, tatsächlich existieren.

  • Sie können alles, was Sie benötigen, innerhalb eines Labels einbetten, ohne die for- und id-Attribute verwenden zu müssen:

    function _(x) { return document.getElementById(x); } function _n(x) { return document.getElementsByName(x); } //Benötigt, um Elemente nach Namen zu erhalten

    var gender, input;

    function next1() { var radio = _n("gender"); // Elemente nach Namen erhalten !!

    for (var i=0, j=radio.length; i

`label{display:block;}

step1, #step2m #show_data{

  background:#eee;
  width:200px;
  padding:30px;
}
#step2, #show_data{display:none;}

        MÄNNLICH

        WEIBLICH

      Weiter

        Geben Sie Ihren Namen ein:

      Weiter`

0voto

Chris du Preez Punkte 539

Vielleicht ändern Sie Ihren Code in:

function next1() {

   var gender_controls = document.getElementsByName("gender");
   gender = gender_controls[0].checked ? gender_controls[0].value : gender_controls[1].value;

  _("step1").style.display = "none";
  _("step2").style.display = "block";
}

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