簡體   English   中英

如何在HTML表單的輸入框中顯示不同的值

[英]How to show a different value in a input box in a HTML form

我有這個HTML表單,它在輸入框中顯示了一些不切實際的數字。 順便說一句,我在輸入框中獲得的數據來自數據庫。 我想在輸入框中顯示一個“ NA”而不是那個99999999.9999值。 我不知道是否有if語句可以幫助我解決此問題。

 <form id="new-inventory-item-form" action="#" formaction="process" data-ajax="false">
         <h3>  Assets</h3>

    <div class="ui-block-a">
        <label for="longitude">Longitude</label>
        <input type="number" name="" id="longitude" value="9999999.99999999">
    </div>
    <div class="ui-block-b">
        <label for="size">Latitude</label>
        <input type="text" name="" id="latitude" value="9999999.99999999">
    </div>
</form>

通過查看您的方案,您似乎需要從db驗證緯度和經度,或者可能來自用戶輸入,並且如果不符合要求,則顯示“ NA”。 最好的辦法是通過js中的正則表達式驗證值,如下所示:

$("#btn").click(function()
{  
  $('.lat').each(function()
  {    
          if (!IsMatch('^-?([1-8]?[0-9]\.{1}\d{1,6}$|90\.{1}0{1,6}$)',$(this).val())) {           
            $(this).val("NA");
        }
  });

  $('.long').each(function()
  {  
          if (!IsMatch('^-?([1-8]?[0-9]\.{1}\d{1,6}$|90\.{1}0{1,6}$)',$(this).val())) {           
            $(this).val("NA");
        }
  });

});

function IsMatch(exp, value) {
   var exp = new RegExp(exp); return exp.test(value);
}

Lat : <input class="lat" type="text"/>
Long : <input class="long" type="text"/>
<button id="btn">Validate</button>

js小提琴: http : //jsfiddle.net/u4hghL9c/2/

據我了解,您想更改屬性value

https://developer.mozilla.org/en/docs/Web/API/Element/setAttribute

設置方法如下。 獲取屬性的工作原理相同-https: //developer.mozilla.org/en/docs/Web/API/Element/getAttribute

if (parseFloat(node.getAttribute('value')) === 999999.9999) { node.setAttribute('value', 'N/A'); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM