繁体   English   中英

if(isset ...在使用javascript加载php文件onsubmit时不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM