【发布时间】:2023-04-01 17:17:01
【问题描述】:
我有一个表单,它接受日期选择器作为输入并将该值发送到后端并根据输入获得一些响应。响应数据将被插入到表中。 提交表单后,它应该在同一页面上显示表格。
HTML:
<!DOCTYPE html>
<html>
<head>
<title>
Date Picker
</title>
<link href='https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/ui-lightness/jquery-ui.css' rel='stylesheet'>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js">
</script>
</head>
<body>
<form method="POST">
Date: <input type="text" id="my_date_picker">
<button id="sbtn">Submit</button>
<div id="mytable">
<table id="datatable" style="display:none">
</table>
</div>
</form>
<script>
$(document).ready(function() {
$(function() {
$("#my_date_picker").datepicker();
});
})
</script>
</body>
</html>
JS:
$("#sbtn").click(function() {
if ($("#my_date_picker").val().length === 0){
alert('Invalid');
return false;
}else {
$("form").submit();
$("#datatable").show();
}
});
提交表单后,我无法在此处显示表格。有没有办法在表单提交后在同一页面上显示表格?
谢谢。
【问题讨论】:
-
当您提交表单时,页面将重新加载。因此,您的后端应该处理表单提交,使用数据表生成新的 html 响应并将其返回给浏览器。否则,您必须使用 ajax 将表单数据传递给支持者并获取结果,然后使用 javascript 在数据表中呈现结果。
-
@farhodius 你能用一个例子解释一下这两种方法吗?这将是一个很大的帮助。谢谢
-
@Thra 你是如何从服务器渲染它的?
-
@Athira V Ajit,使用 Python (render_template) 渲染 HTML 页面。
-
@Thra 所以我建议您可以重定向请求以让路由器重新呈现页面,以便将更新的表格显示给用户。
标签: javascript html jquery forms form-submit