输入类型“Number”会删除我的文本字段的值

问题描述:

我希望我的text field仅接受numbers,因此我尝试使用“number”使用HTML5属性。但它会删除我的text field中的值。这里是我的代码输入类型“Number”会删除我的文本字段的值

<div class="form-wrapper-full-width form-wrapper"> 
 
    <div class="form-label"> 
 
    \t Company Business Number: 
 
    </div> \t \t \t 
 
    <div class="form-info"> 
 
     <input type="number" name="business_number" title="Business Number" value="<?=$phone_num['business_number']?>"> 
 
    </div> \t 
 
</div>

+0

http://*.com/a/18156861/4248328 –

+1

的[HTML文本输入只允许数字输入(可能的复制http://*.com/questions/469357/html-text-input -allow-only-numeric-input) – Irvin

你确定的值设置为$phone_num['business_number']?你确定$phone_num['business_number']只包含数字

如果它设置只是尝试删除PHP的短标签。

<div class="form-wrapper-full-width form-wrapper"> 
    <div class="form-label"> 
     Company Business Number: 
    </div>   
    <div class="form-info"> 
     <input type="number" name="business_number" title="Business Number" value="<?php echo $phone_num['business_number']; ?>"> 
    </div> 
</div> 
+0

是的,这是问题,它包含“+”号,这就是为什么它变成空白。我该如何解决这个问题? – Dre

+0

你必须使用模式。在这个线程中有一个答案。 http://*.com/questions/32259058/allow-sign-on-html-form-type-number – Ranuka

+0

检查这一点。 http://*.com/questions/469357/html-text-input-allow-only-numeric-input?noredirect=1&lq=1 – Ranuka

它不是删除你的价值,但你忘了呼应你的价值,这就是为什么它显示空白。 回应您的价值

确保您的值必须是一个数字,如果它包含任何特殊字符 或任何除了号码,然后它会删除该值 并显示为空白。

尝试下面的代码:

<div class="form-wrapper-full-width form-wrapper"> 
    <div class="form-label"> 
     Company Business Number: 
    </div>   
    <div class="form-info"> 
     <input type="number" name="business_number" title="Business Number" value="<?php echo $phone_num['business_number']; ?>"> 
    </div> 
</div> 
+0

不会。他没有忘记回显该值,因为''等于''。 – Ranuka

+0

@Ranuka如果PHP的短标签不允许从php.ini然后definetelly它将无法正常工作,这就是为什么我写的回声您获得的价值。希望它能让你清楚。 –

首先检查任何JS黄色葡萄球菌的CSS适用于你的输入字段还要检查短标签是允许在你的php.ini配置。

使用Javascript,你可以删除文本,并可以保留数字。

<?php 
    $business_number = "100ww"; 
?> 
<div class="form-wrapper-full-width form-wrapper"> 
<div class="form-label"> 
    Company Business Number: 
</div>   
<div class="form-info"> 
    <input type="text" id="business_number" name="business_number" title="Business Number" value="<?=$business_number?>"> 
</div> 
</div> 

<script type="text/javascript"> 
function changeIt(){ 
    var val = document.getElementById('business_number').value; 
    number = val.replace(/\D/g,''); 
    document.getElementById('business_number').value = number; 
} 
changeIt() 
</script>