Frage

Ich habe eine Form bekommen, die ein paar Seiten lang ist. Zu durchqueren die ganze Form ich tue zeigt und versteckt Container Divs. Die letzte Seite ist eine Bestätigungsseite vor dem Absenden. Es nimmt den Inhalt der Form und legt sich, so kann der Benutzer sehen, was er / sie aus nur gefüllt. Wenn sie auf einen dieser klicken, es wird sie zurück auf die Seite, sie waren (# nav1 ~ 3), auf diesem Gebiet konzentrieren, und lassen Sie sie in einen neuen Wert eingeben, wenn sie müssen.

Mit jQuery, habe ich Variablen für jedes Feld / Radio / Check / select / Textarea / was auch immer. Wenn meine Methode albern scheint mir bitte pwn aber im Grunde, und diese Methode funktioniert schon in Ordnung, aber ich versuche zu Skala es und ich habe keine Ahnung, wie, weil ich nicht wirklich wissen, was Ich mache. Gedanken?

  var field1 = '<a href="#" 
    onclick="$(\'#nav1\').click();$(\'input#field-1\').focus();" 
    title="Click to edit">' + 
    $('input#field-1').val() + '</a>';
    $('#field1-confirm').html(field1);

  var field2 = '<a href="#" 
    onclick="$(\'#nav1\').click();$(\'input#field-2\').focus();" 
    title="Click to edit">' + 
    $('input#field-2').val() + '</a>';
    $('#field2-confirm').html(field2);

Und so weiter, mit field3, 4, 5 ~ 25, etc.

Wenn Sie in Nicht-Programmierer Begriffe zu erklären helfen könnte, würde ich dich für immer lieben.

War es hilfreich?

Lösung

Ohne zu kompliziert zu bekommen, können Sie eine Funktion vornehmen, die sich wiederholende Sachen behandelt. Ich habe nicht getestet, aber Sie bekommen die Idee:

function valField(fieldName,navName) {
    var output = '<a href="javascript://" onclick="$(\''+navName+'\').click();$(\'input#'+fieldName+'\').focus();" title="Click to edit">' + $('input#'+fieldName).val() + '</a>';
 $('#'+fieldName+'-confirm').html(output);
}

valField("field-1","nav1")
valField("field-2","nav1")
valField("field-293","nav3")

Wenn Sie Javascript besser, würden Sie wahrscheinlich machen nur eine Schleife alle zu handhaben diese „valField ()“ Anrufe, oder würden Sie etwas schreiben, das Formular prüfen würde, das finden, was es gibt und Event-Handler generieren kleben sie alle automatisch zusammen. Das ist sicher nicht „n00bware“, aber es gibt Ihnen etwas zu denken.

Auch anstelle der Verwendung dieses auf Ihrer Ausgabe:

$(\''+navName+'\').click();

Sie können es mit ersetzen, was auch immer Code ist tatsächlich in der Onclick des nav Tab.

Es gibt Dutzende von Möglichkeiten, dieses Problem zu lösen. Nehmen Sie es einen Schritt zu einer Zeit.

Andere Tipps

würde ich mit einer Einführung in Arrays starten: diese recht gut aussieht, für Starter.

Wickeln Sie Ihren Kopf um Arrays und Schleifen, um loszulegen, und Sie werden gut bedient werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top