我有一个输入数字,我必须接受带有34,34个两位十进制数字的vlaue,所以我的代码是:
<?php
if(!empty($_SESSION['error'])){
?>
<div id="error_message"><?php echo $_SESSION['error'] ?></div>
<?php
unset($_SESSION['error']);
}
?>
<form class="needs-validation " action="save.php" method="post" novalidate >
<h3 class="dark-grey-text text-center">
<strong><i class="fa fa-user"></i> Login</strong>
</h3>
<hr>
<span id="error_message" class="alert alert-danger"></span>
<div class="row" style="margin-left:300px;">
<label>Date:</label>
<span id="date" name="date"></span> </div>
<div class="row" style="margin-left:300px;">
<label>Time:</label>
<span id="clock" name="time"></span> </div>
<div class="md-form form-sm mb-5" style="margin-top:05px;">
<i class="fa fa-user prefix"></i>
<input type="text" id="username3" name="username3" class="form-control form-control-sm " required>
<label for="modalUsername">Username</label>
<div class="invalid-feedback" style="margin-left:30px">
Enter username. </div>
</div>
</form>
问题是inpput为空不会加载该值,因为如果我这样做
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page isELIgnored="false"%>
<input type="number" min="0" name="price" pattern="0.00"
step=".01" required
value="<fmt:formatNumber type = "number"
pattern="0.00" value = "${home.price}" />"
数字以正确的形式打印。有人可以帮助我吗?
答案 0 :(得分:1)
使用var
上的fmt:formatNumber
属性存储结果并在输入中使用结果,并确保您使用的语言环境提供了浏览器可以使用的数字:
<fmt:setLocale value="en"/>
<fmt:formatNumber type="number"
pattern="0.00" value="${home.price}"
var="myNum"/>
<input type="number" min="0" name="price" pattern="0.00"
step=".01" required
value="${myNum}"/>
尤其是语言环境,这使它变得很丑陋,所以我真的建议您看看jsf。
另请参阅: