2014-02-18 2 views
0

У меня есть рабочий код о диалоговом окне, которое позволяет пользователю вводить что-то, но у меня возникают проблемы с реализацией моей функции, которая принимает только числовой ввод.Dialogbox ограничивает ввод только номерами

DialogBox Код:

HTML:

<p>You have entered: <span id="buttonoutput"></span></p> 
<a id="opendialog" data-role="button">Sample Dialogbox</a> 

JQuery:

$(document).delegate('#opendialog', 'click', function() { 

    $('<div>').simpledialog2({ 
    mode: 'button', 
    headerText: 'Hmm?', 
    headerClose: true, 
    buttonPrompt: 'Please Type Something', 
    buttonInput: true, 
    buttons : { 
     'OK': { 
     click: function() { 
      $('#buttonoutput').text($.mobile.sdLastInput); 
     } 
     }, 
    } 
    }) 
}) 

Моя функция ввода ограничения:

  //only accepts numerical input 
    function isNumberKey(evt){ 
     var charCode = (evt.which) ? evt.which : event.keyCode; 
     if (charCode > 31 && (charCode < 48 || charCode > 57)) 
     return false; 
     return true; 
    } 

Моя проблема в том, как я вызвать функцию в пределах t он вводит диалоговое окно. Любая помощь или совет будут с радостью приняты. Заранее спасибо.

+0

Если вы используете HTML5, вы можете использовать , чтобы ограничить поле ввода только номерами – phron

+0

, чтобы предоставить рабочую скрипку pls – semirturgay

+0

Мне нужно установить ограничение в моем jquery кода, но я не знаю, как это сделать. –

ответ

0

Может быть проще использовать что-то наподобие this input mask. Во всяком случае, если вы хотите идти с пользовательской функцией, вы, вероятно, захотите использовать функцию .keyup() на вашем входе:

$('input').keyup(function() { 
    // Do something 
}); 
0

Try:

$('#inputbox').keydown (function() { 
$(this).val().replace(/[^\d]/g, ''); 
}); 

Это существенно заменить все не-числовые. Используйте его в своем keydown событии.

Смежные вопросы