我有一个表单,它接受一个输入,理想情况下在PHP中的shell命令中处理它,然后返回一个数组。
表单在myform.submit();
运行onChange="onChange();"
后由JS提交。
代码更新:
AJAX代码我有点here,但我不确定如何实现它。
我的PHP / HTML:
<form action="test.php" method="post" id="CONFIRM">
<input class="txt" value="myVal" type="text" size="12" maxlength="9" name="myName" id="myID" onKeyUp="checkUpdate();" onChange="checkUpdate();" onFocus="" />
</form>
我的JS:
function checkUpdate(){
var form = document.getElementById('CONFIRM');
form.submit();
}
答案 0 :(得分:1)
有两个问题(有答案)可以帮到你:
答案 1 :(得分:1)
您需要使用某种AJAX请求来阻止浏览器的默认操作。
<强> HTML:强>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="path-to-scripts.js"></script>
</head>
<body>
<form id="myform" method="post" action="">
<fieldset>
<legend for="info">Some Info</legend>
<input type="text" id="info" name="info" placeholder="some info" />
</fieldset>
<filedset>
<input type="submit" value="Submit" />
</fieldset>
</form>
</body>
<强> JavaScript的:强>
(function($) {
$('#myform').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'post',
url: 'path-to-your-php-file.php',
data: $('#myform').serialize(),
timeout: 50000
}).done(function(responseData) {
// Do something with the response data.
}).fail(function(error) {
// Not good.
});
});
})(jQuery);
现在,让我们说你想用responseData调用一个php函数。 您还需要考虑如何返回responseData。它是一个对象吗?这可以确定您处理下一个请求的方式。 根据您设置的方式,可以轻松完成:
<强> JavaScript的:强>
...
}).done(function(responseData) {
if (responseData)
{
$.ajax({
type: 'post',
data: responseData,
url: 'path-to-your-next-php-file.php',
timeout: 50000
}).done(function(responseData) {
// Do something with the response data.
}).fail(function(error) {
// Not good.
});
}
}).fail(function(error) {
...
然而,这样做,你将开始进入许多嵌套的ajax调用,这可能导致&#34;回调地狱&#34;。你可能想看一下 Using a promise to make your life a lot easier.