Ich habe ein Zahlungsformular, in dem beim Klicken auf das Internet-Banking alle Eingabefelder deaktiviert werden und stattdessen einige Bilder angezeigt werden. Dies ist die Geige, bis zu der ich http://jsfiddle.net/f8Fd3/4/ Nr wo ich das Eingabetextfeld nicht mit ihrer Klassen-ID ausblenden kann.

Das ist das js

function cc()
{
     $('#cards.credit-card').removeClass("visa mastercard").addClass("visa");

}

function dc()
{
    $('#cards.credit-card').removeClass("visa mastercard").addClass("mastercard");
}
function ib()
{

}

Bitte überprüfen Sie die Geige, um ein klares Bild zu erhalten

0
Ajeesh 28 Nov. 2013 im 05:00

2 Antworten

Beste Antwort

Dies liegt daran, dass standardmäßig "Formular" gesendet wird, wenn auf das "Schaltfläche" -Tag in einem "Formular" geklickt wird.

Die beiden anderen werden nicht umgeleitet, da es eine HTML5-Formularüberprüfung gibt, die verhindert, dass das Formular gesendet wird. (Aus diesem Grund wird eine Fehlermeldung angezeigt, wenn Sie auf Visa / Mastercard klicken.)

Wenn Sie darauf bestehen, Ereignisse im Dom zu binden, können Sie ein Ereignisobjekt an den Handler übergeben:

<button onclick="javascript:ib(event)" class="btn btn-1 btn-1c">Internet Banking</button>

Und in Ihrer Funktion:

function ib(event) {
  event.preventDefault();
}

Vielleicht möchten Sie dasselbe auch mit den beiden anderen Handlern tun.

Daher wird die Standardübermittlungsaktion verhindert.

Und um alle Textfelder zu deaktivieren:

$('#cards input[type=text]').prop('disabled', true);

Um sie zu verstecken:

$('#cards input[type=text]').hide();

BEARBEITEN

Apropos. Sie müssen keine Selektoren wie $ ('# maps.credit-card') verwenden. 'id' sollte im DOM eindeutig sein. Wenn Sie nur $ ('# maps') verwenden, erhalten Sie dasselbe Element.

1
Yurui Zhang 28 Nov. 2013 im 01:13
The syntax class="class=tokenex_data full gr-input" is incorrect.

Instead use, class="tokenex_data full gr-input" 

Then use : 

`function ib()
{
    $(".tokenex_data").hide();
    $(".monthgr-input").hide();
}


`
1
code2use 28 Nov. 2013 im 01:13