Okay, zuerst einige Hintergrund, kann ich keine Javascript-Bibliothek außer YUI für dieses Projekt verwenden.Blocknummern von Eingabe in ein Eingabefeld
Was ich versuche, ist eine Eingabe zu nehmen und zu blockieren, um nur numerische Eingaben zuzulassen. Ich weiß, dass dies in der Validierung einfacher ist, aber die PM will es onkeypress. Was ich habe, wurde aus dem Laufen im Netz konstruiert und funktioniert großartig in Firefox. Leider muss dies mit IE8 und IE6 kompatibel sein, und es funktioniert auch nicht.
Hier ist, was ich bisher:
<script type="text/javascript">
function onlyNumbers(evt) {
evt = (evt) ? evt : window.event
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
</script>
<input type="text" id="<%=Model.HtmlID %>" value="<%= startingAnswer %>"name="<%=Model.HtmlID %>"
maxlength="<%=maximumLength %>" onkeypress="return onlyNumbers(event);" />
Irgendwelche Ideen auf, was falsch ist, dass es nicht funktionieren im IE macht?
Die Mehrheit der großen Websites haben IE 6 Unterstützung gestoppt, es sei denn, Sie Konkurrenten sind immer noch es zu unterstützen Ich würde jedem im Web einen Gefallen Drop Support dafür empfehlen. – Webnet
Ja. Client ist ein sehr großes Unternehmen, das immer noch IE6 verwendet, dies ist ein internes Modul für sie. – guildsbounty
Bitte tun Sie der Welt einen Gefallen und brechen Sie die Funktionalität nicht, wenn Modifier-Tasten gedrückt werden. Suchen Sie nach 'evt.shiftKey',' evt.altKey', 'evt.ctrlKey' und' evt.metaKey'. Ich kann mich nicht daran erinnern, ob das alles browserübergreifend kompatibel ist, aber wenn nicht, ist es wahrscheinlich, dass YUI solche Dinge behebt. – eyelidlessness