2013-10-27 40 views
2

我的服務器使用逗號將浮點數轉換爲字符串,然後jQuery的警報,該浮點數的格式不正確(它需要點)。我不熟悉這個自動生成的jQuery驗證腳本,我不知道要在哪裏更改它,所以我在這裏問。浮點顯示格式,使用逗號,但jquery想要一個帶點格式

這是我的代碼和警報圖片。

@model NerdDinner.Models.Dinner 

    (...) 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Longitude) 
    </div> 

    <div class="editor-field"> 
     @Html.EditorFor(model => model.Longitude) 
     @Html.ValidationMessageFor(model => model.Longitude) 
    </div> 

enter image description here

感謝。

+0

現在還不清楚你在問什麼 - 你想改變(jQuery)客戶端還是ASP.NET服務器? (並且請根據你的問題重申你的問題!) –

+0

好吧,知道這兩者會很酷 – Patryk

+0

除非我們能夠看到它們的代碼,否則我們無法幫助您修復。 –

回答

0

用JavaScript你可以把這些值並將其轉換成浮動做了替換的「」由「」:

var Longitude = parseFloat($("#longitude").val().replace(",", ".")); 
var Latitude= parseFloat($("#latitude").val().replace(",", ".")); 
0

正如史蒂芬德Waele的已經在他的崗位在Validating numbers with comma’s with jQuery提到的,你可以重寫jQuery驗證插件的方法來實現您的目標。

$.validator.methods.range = function (value, element, param) { 
var globalizedValue = value.replace(",", "."); 
return this.optional(element) || 
       (globalizedValue >= param[0] && globalizedValue <= param[1]); 
} 

$.validator.methods.number = function (value, element) { 
return this.optional(element) || 
       /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value); 
}