2015-04-28 67 views
3

我正在创建一个HTML5 Web表单。其中一个输入是地理定位,它通过点击按钮来填充(它插入GPS坐标)。由于此输入必须是必需的且必须是只读的(我不希望用户在其中写入自定义数据),因此如何处理? HTML5不允许使用requiredreadonly(这是有道理的),但在我的情况下,我需要应用它。你知道任何解决方法吗?一起使用必需属性和只读属性

我在SO和Google上搜索和搜索了这些内容,但似乎都没有解决方案。

这里是我的代码的一部分:

<form class="form-horizontal" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
     <div class="form-group"> 
      <label class="control-label col-xs-3" for="coord">GPS coordinates:*</label> 
      <div class="col-xs-4"> 
       <input type="text" class="form-control" id="coord" name="coord" required placeholder="Please enable geolocation service"> 
      </div> 
      <div class="col-xs-3"> 
       <button type="button" onclick="getLocation()" class="btn btn-primary" id="locate" disabled>Locate me</button> 
      </div> 
     </div> 

回答

7

可以使用jQuery验证插件做到这一点..或简单:

不得KEYDOWN只是把它挂在你的事件中,你正在呼吁点击...

<input type="text" class="readonly" required /> 

<script> 
    $(".readonly").keydown(function(e){ 
     e.preventDefault(); 
    }); 
</script> 
+0

它的工作!谢谢。 – smartmouse

1
<input type="text" name="name" id="id" required onkeypress="return false;" /> 

在这种textBox用户无法输入任何东西,但输入是requiredreadonly