могу ли я спросить, как HTML может принимать ввод текстового поля с 1 или 0 в качестве его значения? Может ли кто-нибудь показать мне? Я реализую этот HTML-код в своем perl.
Вот пример моего кода:
#!/usr/bin/perl
#index5.cgi
require 'foobar-lib.pl';
ui_print_header(undef, $module_info{'desc'}, "", undef, 1, 1);
ui_print_footer("/", $text{'index'});
#print "Content-type:text/html\n\n";
print qq~<html>
<link rel="stylesheet" type="text/css" href="style.css">
<body>
<div id="content">
<div id="bar">
<span><p>Data Gateaway</p></span>
</div>
<div id="main-container">
<table border="0" width="100%" height="100%">
<tr>
<td colspan="5">
<div id="button">
<form action="index.cgi">
<input type="submit" value="Back">
</form>
</div>
</td>
</tr>
<tr>
<td width="25%" align="left">
<div id="title"><span>BYPASS :</span></div>
</td>
<td width="20%">
<form method="POST" action="index7.cgi">
<td width="20%">
<table border="0" style=\"text-align:top;font-family:Arial, Helvetica, sans-serif;\" cellpadding="5">
<tr>
<td width="20%"><div id="data">Use either "1" or "0" to change value for <b>Basics Bypass</b>:</div></td>
</tr>
</table>
</td>
<td align="left" width="7%">
<table border="0" style=\"text-align:center;font-family:Arial, Helvetica, sans-serif;\" cellpadding="2">
<td>
<tr>
<td width="7%">
<input type="text" maxlength="1" name="voca" size="1">
</td>
</tr>
<tr>
<td width="7%">
<input type="text" maxlength="1" name="vocb" size="1">
</td>
</tr>
<tr>
<td width="7%">
<input type="text" maxlength="1" name="vocc" size="1">
</td>
</tr>
<tr>
<td width="7%">
<input type="text" maxlength="1" name="vocd" size="1">
</td>
</tr>
</td>
</table>
</td>
</tr>
<tr>
<td colspan="5">
<div id="description"><b>Description :</b></div>
</td>
</tr>
<tr>
<td colspan="5">
<div id="button">
<input type="submit" value="Change Default Settings"><input type="reset" value="Clear">
</form>
</div>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>
~;
Какую функцию я должен добавить для того, что ввод текстового поля в HTML может принимать только значение 1 или 0? Может ли кто-нибудь научить меня, как? Нужно ли использовать if..else?
В вашем случае я считаю, что лучше использовать dropbox с параметрами 1 и 0, чтобы сделать его более интуитивным. Если вы действительно хотите использовать текстовое поле, введите input type = number, и каждый раз, когда вызывается событие onchange, проверьте текущее значение и удалите его, если он недействителен.
Чтобы сделать 0 и 1 единственным принятым вводом, добавьте атрибут pattern
:
pattern="0|1"
Но (в дополнение к отсутствию поддержки в старых браузерах) это не мешает пользователю вводить что-то еще. Это просто означает, что при отправке формы данные проверяются и выдается сообщение об ошибке, если проверка не проходит. Более того, пустая строка также пройдет, если вы также не используете required
атрибут.
Чтобы фактически запретить пользователю вводить ничего, кроме 0 или 1, вам нужно будет использовать небольшой фрагмент JavaScript.
В общем случае флажки обычно предпочтительнее, когда есть только два значения, которые вы хотите принять.
И все такие методы предназначены только для помощи пользователю, а не для безопасности. Ваш код на стороне сервера должен проверять данные, прежде чем что-либо делать с ним.