[英]if(isset… doesn't work when loading the php file onsubmit with javascript
我有一个小问题加载一个PHP函数if(isset ...到一个页面,其中是带有onsubmit函数的形式:
function functionlol() {
$('#phptestlol').load('system/phptest.php');
}
现在,phptest.php包含:
if(isset($_POST['test'])){
echo "Working with submission also";
}
echo "Working";
和表单的HTML看起来像这样:
<span id='phptestlol'></span>
<form method='POST' onsubmit='functionlol()' target='test'>
<input type='submit' name='test' value='Submit'>
</form>
我做了target ='test',因为我不希望页面被刷新。 当我单击提交按钮时,它会加载php文件,但它只显示“工作”回显,并且不会回显“同时提交提交”...我应该做些什么来使它工作? 谢谢!
编辑整个HTML:
<html>
<head>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script>
$('form').submit(function(event) {
event.preventDefault();
$('#phptestlol').load('system/phptest.php', {test:1});
});
</script>
</head>
<body>
<iframe name='test' style='display:none;'></iframe>
<span id='phptestlol'></span>
<form method='POST' target='test'>
<input type='submit' name='test' value='Submit'>
</form>
</body>
</html>
PHP(phptest.php):
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
if(isset($_POST['test'])){
echo "submitted";
}
?>
让我们做一些调整,并一直利用jQuery。 首先是HTML -
<span id='phptestlol'></span>
<form method='POST' target='test'>
<input type='submit' name='test' value='Submit'>
</form>
请注意删除任何内联JavaScript。 现在为PHP -
if(isset($_POST['test'])){
echo "submitted";
}
现在,对于樱桃蛋糕,jQuery
$(document).ready(function() {
$('form').submit(function(event) {
event.preventDefault(); // prevents the default action of the submit button
$('#phptestlol').load('system/phptest.php', {test:1});
});
});
这里我们阻止单击提交按钮的默认操作。 我们还发送$_POST
数组的值( {test:1}
),因此isset($_POST['test'])
将按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.