我无法从表单中获取值。由于 Firebug,表单已提交,当我删除 js 时,它会起作用,因此它与它有关。
$ok= $_POST['ok']; //this doesnt work
if($ok== "ok" ){
echo "works";
}
<script type="text/javascript">
$(document).ready(function() {
var frm = $('#form');
frm.submit(function (ev) {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
});
ev.preventDefault();
});
});
function submitForm2() {
$('#form').submit();
}
</script>
<div onclick='submitForm2();'></div>
<form action='' method='post' id='form'>
<input type="hidden" name='ok' value="ok">
</form>
最佳答案
提交表单后,您的第一组 JavaScript 就会启动。它:
- 停止正常提交进程的运行
- 从表单中获取数据并通过 Ajax 提交
由于正常的表单提交不运行,页面不会重新加载,因此您不会加载新文档,因此您看不到包含 ok 的文档加载到主浏览器窗口中。
由于您没有 Ajax 请求的 success
处理程序,因此您完全忽略服务器发送回 JavaScript 的响应……因此您看不到该文档(其中包含ok)。
如果您想查看 Ajax 请求的结果,那么您必须编写 JS 来显示结果(或检查开发人员工具的 Net 选项卡)。
关于javascript - 无法从表单获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712789/