Ich habe ein Textfeld für die Ereignisse an eine Funktion gebunden sind, zu ändern, die das Textfeldes des Wert bestätigt und kann eine entsprechende Validierungsfehlermeldung in das DOM über dem Textfeld Spleiß. Wenn das Änderungsereignis, indem Sie auf eine von einem Paar von etwas unabhängigen Radio-Buttons ausgelöst wird, der Radioknopf aus, gewinnt den Fokus, sondern gegen meine und die Erwartungen des Anwender angeklickt wird, wird nicht geprüft - das ist das Problem.Radiotaste deaktiviert, sobald in AJAX-ähnlichem Szenario geklickt
Obwohl die Validierung in dem endgültigen System wird mit AJAX-Server-Seite ausgeführt wird, zeigt der folgende Code, dass AJAX nichts mit dem Problem zu tun hat.
Vielen Dank, wenn Sie mir sagen kann, was ich bin fehlt hier:
<html>
<head>
<STYLE type="text/css">
.highlighted { color: red; }
</STYLE>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
</head>
<body>
<span id="errors">
</span>
<label for="mytextfield">First, type something in this textfield</>
<input type="text" id="mytextfield" name="mytextfield"/>
<p>Second, click on one of these radio buttons</>
<INPUT TYPE="radio" NAME="binaryquestion" VALUE="Y" >Yes</>
<INPUT TYPE="radio" NAME="binaryquestion" VALUE="N" >No</>
<script type="text/javascript">
$(document).ready(function() {
//$("#mytextfield").change(validateTextField);
$("#mytextfield").change(spliceInTheValidationResultMessage);
});
function validateTextField() {
$.ajax({
url: 'http://www.google.com',
success: function(data) {
spliceInTheValidationResultMessage();
}
});
}
function spliceInTheValidationResultMessage() {
$("#errors").append("<p>Thank you for your input!</p>").addClass("highlighted");
alert("I expect the radio button that you clicked to become checked. However, close this dialog and you'll see that it will have gained the focus but is NOT checked!");
};
</script>
</body>
</html>
, wo der Code ist, dass das Optionsfeld Zustand zu ändern versucht? Ich kann es nicht sehen. – scunliffe
Es gibt keinen solchen Code. Wenn Sie die Seite in einen Browser laden und auf eines der Optionsfelder klicken, besteht das Problem darin, dass das Aktivieren des Optionsfelds davon abhängt, dass Sie nicht zuvor etwas in das Textfeld eingegeben haben. – user559496
Eine weitere Verfeinerung der Definition des Problems: Das Problem ist, dass, ob das Optionsfeld aktiviert wird dir nicht etwas, in das Textfeld eingegeben haben, unmittelbar vorher bedingt ist. – user559496