这是一个特殊的问题但是,我有一个输入字段,像这样,
<div class="<?php if(form_error('interest')!= null){echo ' has-error';} ?>">
<h4><?php echo lang("offer_of_intrest"); ?></h4>
<input class="form-control" type="text" value="<?php echo set_value('interest'); ?>" placeholder="1%" name="interest">
</div>
占位符显示1%
,但输入只接受整数(1或2或3等等),我想要做的是以某种方式将百分号保持在占位符内,但是用户输入任何数字但保留百分号,但在提交按钮时,只应该输入数字,而不是百分号。因为在mysql中它只接受小数位。它就像给用户一个假的百分号占位符所以他们不会感到困惑,实际上在输入字段中输入1(PERCENT)。 ,我希望这是可以理解的。
答案 0 :(得分:3)
由于您似乎正在使用Bootstrap,我会从占位符中删除%
并使用input-group
和input-group-addon
:
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet" />
<div class="row">
<div class="col-xs-9">
<form class="form-inline">
<div class="form-group">
<label class="sr-only" for="exampleInputAmount">Percentage:</label>
<div class="input-group">
<input class="form-control" type="text" placeholder="1" name="interest">
<div class="input-group-addon">%</div>
</div>
</div>
</form>
</div>
</div>
&#13;
答案 1 :(得分:2)
您可以拆分字符串以拼接'%'符号,然后将其转换为int。 (感谢下面的Bob Nocraz)
$yourDecimal = rtrim($theVariable, '%');
$result = intval($yourDecimal);
答案 2 :(得分:0)
据我所知,Theres在Html中不是解决方案,但您可以在Javascript中执行此操作。
$(input).keydown(function(){
val = $(this).val()
val = val.slice(val.length, 1);
val += "%";
})
也许这会起作用