我有2个文本框,一个用于获得最大标记,另一个用于获得的标记。 必须限制在第二个框中输入的值,使其小于或等于最大标记。只有数字必须输入到这些框中..
Maximum Marks<input type=text name=maxmarks maxlength='2' >
Obtained marks<input type='text' maxlength='2' name='obtmarks'>
请帮我这个..提前谢谢..
答案 0 :(得分:0)
如果您想在客户端执行此操作,则必须使用Javascript。如果您想在服务器端执行此操作,如果第二个数字超过第一个,为什么不将它们发回页面并显示错误消息。如果这是一个可用的选项,您可能还想查看HTML5输入选项。这些将自动进行数字验证。
答案 1 :(得分:0)
你可以试试这样的......
$response_array = array();
if($obtained > $max){
$response_array['status'] = 'error';
$response_array['message'] = '<div class="alert alert-error">Obtained to big</div>';
}
if(!is_numeric($obtained){
$response_array['status'] = 'error';
$response_array['message'] = '<div class="alert alert-error">Obtained not a number</div>';
}
echo json_encode($response_array);
这是伪代码,显然你需要为你的目的调整它。
答案 2 :(得分:0)
首先你必须在你提交表单的php脚本中进行检查,你可以使用javascript后使其更加用户友好,但如果有人更改源代码或只是关闭javascript,他将能够提交任何内容。 在你的process_form.php中:
session_start();
$errors = array();
if (!isset($_POST['maxmarks']) || empty($_POST['maxmarks'])) {
$errors[] = 'The Maximum Marks field is required.';
}
else {
if (!is_int($_POST['maxmarks'])) {
$errors[] = 'The Maximum Marks field must be an integer.';
}
else {
$maxmarks= (int) trim($_POST['maxmarks']);
}
}
if (!isset($_POST['obtmarks']) || empty($_POST['obtmarks'])) {
$errors[] = 'The Obtained Marks field is required.';
}
else {
if (!is_int($_POST['obtmarks'])) {
$errors[] = 'The Obtained Marks field must be an integer.';
}
else {
$obtmarks= (int) trim($_POST['obtmarks']);
}
}
if (!empty($errors)) {
$_SESSION['form_errors'] = $errors;
header('Location: your_form.php');
die();
}
else if ($obtmarks > $maxmarks){
$errors[] = 'The Obtained Marks must be less or equal to Maximum Marks.';
$_SESSION['form_errors'] = $errors;
header('Location: your_form.php');
die();
}
else {
//process data
}
现在在your_form.php中:
session_start();
if (isset($_SESSION['form_errors']) && !empty($_SESSION['form_errors'])) {
$errors = $_SESSION['form_errors'];
unset($_SESSION['form_errors']);
}
echo '<ul>';
if (isset($errors)) {
foreach($errors as $error) {
echo '<li>' . $error . '</li>';
}
}
echo '</ul>';
//your form here