我正在创建一个HTML5 Web表单。其中一个输入是地理定位,它通过单击按钮填充(它插入gps坐标)。由于这个输入必须是必需的并且必须是只读的(我不希望用户在里面写自定义数据),如何处理这个? HTML5不允许使用required
和readonly
(这很有意义),但在我的情况下我需要应用它。你知道任何解决方法吗?
我在这里搜索和搜索了SO和谷歌,但似乎没有人知道解决方案。
这是我的代码的一部分:
<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>
可以使用jquery validate plugin来实现..或者更容易:
一定不能把它挂在你打电话点击的事件上......
<input type="text" class="readonly" required />
<script>
$(".readonly").keydown(function(e){
e.preventDefault();
});
</script>
<input type="text" name="name" id="id" required onkeypress="return false;" />
在这个textBox
用户不能输入任何东西,但输入是required
和readonly
。