我正在尝试在表单提交上刷新wordpress中的sidebar.php(在sidebar.php的小部件中)。
我在页面上有视频,如果整个页面刷新,则视频必须从头开始播放。
当有人提交表单时,我需要一个简单刷新sidebar.php的解决方案......我不是一个专业的php程序员,这么简单是最好的!
顺便说一句。我正在为表单使用强大的插件。
提前感谢!
答案 0 :(得分:0)
听起来像ajax的工作!
现在,你可以从头开始做,但那会不必要地痛苦。相反,我建议将jquery添加到您的页面中
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
(使用最新版本,托管在谷歌上)
现在您已经加载了jquery,有许多简单的方法可以在不中断事物流的情况下提交数据。这是我将如何做(我假设你使用method =“post”):
<input type="submit" >
更改为<button>
,因此点击它不会触发内置表单提交(这会中断您的视频)。 <button id="mysubmitbutton">
一样轻松地引用它。 (当你在它的时候,给你所关注的所有表单字段提供id属性,如果你还没有,那么你也可以轻松地引用它们,比如<input type="text" name="firstName" id="firstName">
而不仅仅是<input type="text" name="firstName">
)<head>
部分内,添加一些类似于以下内容的代码:<script type="text/javascript">
//makes it so that it goes after the html document is ready for it
$(document).ready(function() {
//this ties a onclick event to your button you made
$("#mysubmitbutton").click(function(){
//when the button is clicked, it will asychronously post to where you want it to
$.post("urlthatwasinyouractionequalsattribute.php",
{
//put all your post variables here, referencing the ids you made earlier
firstName: $("#firstName").val(),
time: $("#time").val() //be sure you don't have a trailing comma on the last one
},
function(data) {
//data is whatever the other website sends back. do whatever you want here...
alert("Result: " + data);
});
});
});
</script>
点火它应该有效。显然,您需要更改值以使其与您的表单匹配等。
希望有所帮助!如果有,请标记为答案。