2013-03-23 1 views
0

Я использую asp.net текстового поля

Я хочу, чтобы отобразить значение, введенное пользователем в соответствующем формате валюты, например, если пользователь ввел 10000, и я хочу, чтобы он был отформатирован следующим образом: 10 000 $

Как это могло быть достигнуто с помощью javascript без использования набора ajaxtool?

+0

Дисплей где? Когда они печатают его? На другом лейбле? На пост-обратно? – MikeSmithDev

ответ

0

Вы можете достичь этого с помощью javascript. Следующий код изменяет значение в качестве пользовательских типов:

JavaScript:

function fnCurrencyOnly(o) { 
     var sValue = o.value; 
     var sKey = String.fromCharCode(window.event.keyCode); 
     if (document.selection.createRange().text == sValue) { 
      sValue = sKey; 
     } else { 
      sValue = sValue + sKey; 
     } 
     var re = new RegExp("^\\d+(?:\\.\\d{0,2})?$"); 
     if (!sValue.match(re)) 
      window.event.returnValue = false; 
    } 

HTML:

<div> 
    <asp:textbox runat="Server" ID="text" onchange="fnCurrencyOnly(this);" /> 
</div> 
0

Try что-то вроде этого

function formatText(txt) 
    { 
txt.value = '$' + txt.value; 

    } 

<asp:textbox onchange="javascript:formatText(this);"/> 
+0

Это, однако, не будет правильно отформатировать ваш текст, а вместо этого просто добавит $ в начале. Если сумма составляет 4000 долларов, тогда текстовое поле будет читать 4000 долларов вместо 4000 долларов с запятой. Если вы хотите, чтобы валюта была правильно отформатирована запятыми, вам нужно будет использовать решение ниже. – Vortex

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