问题
I have a number input that I want to hold integers. If the value gets set to negative then I want the symbol shown to be ∞ (∞
).
Doing this doesn't work (a blank is shown instead of "∞"):
<%
if foo <= -1
v = '∞'
else
v = foo
end
%>
<input type="number" value="<%= v %>">
Is there a way to do it without resorting to javascript?
回答1:
What are your requirements for having a "number" field? Can you rely on form validation and use Javascript to progressively enhance just typing numbers. Then use something like this
<input type="text" pattern="([0-9]|∞)+">
(pattern
will prevent the form from submitting unless it's a number or infinity symbol)
回答2:
You need to use type text
for this field and convert infinity sign using CGI::unescapeHTML
<%
if foo <= -1
v = CGI::unescapeHTML('∞')
else
v = foo
end
%>
<input type="text" value="<%= v %>">
来源:https://stackoverflow.com/questions/22844728/html-how-to-set-value-of-input-type-number-to-infinity