Javascript 当单击提交按钮时,是否在PHP中临时更改同一页面上的HTML结构?
我有一个PHP页面,有提交按钮到另一个URL 我想在单击submit按钮后重新加载当前页面,并将Javascript 当单击提交按钮时,是否在PHP中临时更改同一页面上的HTML结构?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个PHP页面,有提交按钮到另一个URL 我想在单击submit按钮后重新加载当前页面,并将div添加到HTML中 我的页面url是:/foo.php,在HTML中我有: <button onclick="$.get('/bar', function() { ... })">Submit</button> 我的问题是,我怎么知道用户点击按钮,刷新是因为点击,而不仅仅是导航 另一件事,如果可能的话,我希望如果用户再次刷新页面,新的div将消失。为什么不将div追加到g
div
添加到HTML中
我的页面url是:/foo.php
,在HTML中我有:
<button onclick="$.get('/bar', function() { ... })">Submit</button>
我的问题是,我怎么知道用户点击按钮,刷新是因为点击,而不仅仅是导航
另一件事,如果可能的话,我希望如果用户再次刷新页面,新的
div
将消失。为什么不将div追加到get函数的成功回调中呢?您不必重新加载页面
<div id="btn_area">
<button onclick="$.get('/bar', function() { $('#btn_area').append($('<div>').html('Thank You');)})">Submit</button>
</div>
提交
顺便说一下,我几乎不建议将javascript与html分开,也不建议将其直接放在DOM中
另一种方法是,在同一侧激发另一个带有隐藏参数的窗体。然后,在服务器端检查隐藏参数并显示div
第三种方法是,在回调中设置cookie,重新加载side,检查cookie,显示div,然后再次删除cookie
在我看来,第一个提到的选项(直接在回调中添加div而不重新加载)将是目前为止最“漂亮”的选项,但当然我不知道在您的站点上还有什么其他的情况为什么不在get函数的成功回调中添加div呢?您不必重新加载页面
<div id="btn_area">
<button onclick="$.get('/bar', function() { $('#btn_area').append($('<div>').html('Thank You');)})">Submit</button>
</div>
提交
顺便说一下,我几乎不建议将javascript与html分开,也不建议将其直接放在DOM中
另一种方法是,在同一侧激发另一个带有隐藏参数的窗体。然后,在服务器端检查隐藏参数并显示div
第三种方法是,在回调中设置cookie,重新加载side,检查cookie,显示div,然后再次删除cookie
在我看来,第一个提到的选项(直接在回调中添加div而不重新加载)将是目前为止最“漂亮”的选项,但当然我不知道在您的站点上还有什么其他的情况为什么不在get函数的成功回调中添加div呢?您不必重新加载页面
<div id="btn_area">
<button onclick="$.get('/bar', function() { $('#btn_area').append($('<div>').html('Thank You');)})">Submit</button>
</div>
提交
顺便说一下,我几乎不建议将javascript与html分开,也不建议将其直接放在DOM中
另一种方法是,在同一侧激发另一个带有隐藏参数的窗体。然后,在服务器端检查隐藏参数并显示div
第三种方法是,在回调中设置cookie,重新加载side,检查cookie,显示div,然后再次删除cookie
在我看来,第一个提到的选项(直接在回调中添加div而不重新加载)将是目前为止最“漂亮”的选项,但当然我不知道在您的站点上还有什么其他的情况为什么不在get函数的成功回调中添加div呢?您不必重新加载页面
<div id="btn_area">
<button onclick="$.get('/bar', function() { $('#btn_area').append($('<div>').html('Thank You');)})">Submit</button>
</div>
提交
顺便说一下,我几乎不建议将javascript与html分开,也不建议将其直接放在DOM中
另一种方法是,在同一侧激发另一个带有隐藏参数的窗体。然后,在服务器端检查隐藏参数并显示div
第三种方法是,在回调中设置cookie,重新加载side,检查cookie,显示div,然后再次删除cookie
在我看来,第一个提到的选项(直接在回调中添加div而不重新加载)将是目前为止最“漂亮”的选项,但当然我不知道您的站点上还有什么其他情况
您可以在js端处理这个问题。只要发出请求,在回调中,就可以操纵dom。你可以看到下面
<button>Submit</button>
$("button").on("click", function() {
var $button = $(this);
$.get("/echo/html", function() {
$button.after("<div>Thank you!</div>");
});
});
提交
$(“按钮”)。在(“单击”,函数(){
var$按钮=$(此按钮);
$.get(“/echo/html”,函数(){
$button.after(“谢谢!”);
});
});
您可以在js端处理这个问题。只要发出请求,在回调中,就可以操纵dom。你可以看到下面
<button>Submit</button>
$("button").on("click", function() {
var $button = $(this);
$.get("/echo/html", function() {
$button.after("<div>Thank you!</div>");
});
});
提交
$(“按钮”)。在(“单击”,函数(){
var$按钮=$(此按钮);
$.get(“/echo/html”,函数(){
$button.after(“谢谢!”);
});
});
您可以在js端处理这个问题。只要发出请求,在回调中,就可以操纵dom。你可以看到下面
<button>Submit</button>
$("button").on("click", function() {
var $button = $(this);
$.get("/echo/html", function() {
$button.after("<div>Thank you!</div>");
});
});
提交
$(“按钮”)。在(“单击”,函数(){
var$按钮=$(此按钮);
$.get(“/echo/html”,函数(){
$button.after(“谢谢!”);
});
});
您可以在js端处理这个问题。只要发出请求,在回调中,就可以操纵dom。你可以看到下面
<button>Submit</button>
$("button").on("click", function() {
var $button = $(this);
$.get("/echo/html", function() {
$button.after("<div>Thank you!</div>");
});
});
提交
$(“按钮”)。在(“单击”,函数(){
var$按钮=$(此按钮);
$.get(“/echo/html”,函数(){
$button.after(“谢谢!”);
});
});
或者,如果您选择在PHP中模拟flash会话(一次性使用会话)。考虑这个例子:
foo.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
提交
非常感谢。
bar.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
或者,如果您选择在PHP中模拟flash会话(一次性使用会话)。考虑这个例子: foo.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
提交
非常感谢。
bar.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
或者,如果您选择在PHP中模拟flash会话(一次性使用会话)。考虑这个例子: foo.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
提交
非常感谢。
bar.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
或者,如果您选择在PHP中模拟flash会话(一次性使用会话)。考虑这个例子: foo.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>
提交
非常感谢。
bar.php
<?php session_start(); ?>
<form method="POST" action="bar.php">
<button type="submit" name="thank_you">Submit</button>
</form>
<?php if(isset($_SESSION['thank_you'])): ?>
<?php unset($_SESSION['thank_you']); ?>
<h1>Thank You!</h1>
<?php endif; ?>
<?php
session_start();
if(isset($_POST['thank_you'])) {
$_SESSION['thank_you'] = true;
// processes
header('Location: foo.php');
}
?>