因此,我有一个使用.load方法通过AJAX加载的PHP页面。
这是然后显示在我的页面上,但我需要能够提交的表单,位于我的第二个页面上,我使用.load加载,提交此表单和处理同一页面上的数据,而不是它重新加载。
我对javascript和AJAX非常陌生,所以我不知道使用.load()是否正确。
任何帮助都将不胜感激。
第1页如下:
<button onclick="Test()" type="button">Load Content</button>
<div class="box" id="box" name="box">
</div>
<script>
function Test(id) {
$( "#box" ).load( "test.php?id=" + id );
}
</script>
第二个页面是test.php,其中包含以下内容
<form id="enrolemployee" action="" method="post">
<div class="form-group">
<label>Test</label>
<input type="text" class="form-control" id="Test" name="Test" placeholder="Test">
</div>
<input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
<button type="submit" class="btn btn-outline-custom">Submit</button>
</form>
现在,为了在test.php上提交表单,我使用一个定制令牌类在每次提交表单时生成一个随机散列,这样我就可以验证同一页面上的数据并通过我的数据库对其进行处理。
这有可能做到吗?或者我需要让我的表单然后通过不同的页面发布数据?
基本上,我需要整个事情停留在页面1,处理表单像它通常应该,而人员页面不重新加载,并始终是静态的页面1,这应该永远不会重定向到test.php
谢谢你。
发布于 2021-02-08 21:27:57
你可以像这样做
index.php
<button onclick="Test('10')" type="button">Load Content</button>
<div class="box" id="box" name="box">
</div>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
function Test(id) {
$("#box").load("test.php?id=" + id);
}
</script>
test.php
<form id="enrolemployee" action="" method="post">
<div class="form-group">
<label>Test</label>
<input type="text" class="form-control" id="Test" name="Test" placeholder="Test">
</div>
<input type="hidden" name="token" value="">
<button type="submit" class="btn btn-outline-custom">Submit</button>
</form>
<script>
$("#enrolemployee").on('click', e => {
// Avoid reloading page
e.preventDefault();
console.log(<?php echo $_GET['id']; ?>);
})
</script>
https://stackoverflow.com/questions/66109205
复制相似问题