这只猫在SO中有几种皮肤,但我似乎无法将其延伸到适合我的示例的方式。
我创建了一个由三列组成的表。第三列是一个文本框,将显示“未安装”的占位符或日期。我需要一个onChange事件来触发PHP发布脚本,以将输入的值发送到数据库。
独立运行以下工作:
HTML
<div class="row">
<form action="./functions/post_Updates.php" method="Post">
<input name="RAID">
<input name="InstalledOn">
<button type="submit" value="go">go </button>
</form>
</div>
PHP
$RAID = $_POST['RAID'];
$InstalledOn = $_POST['InstalledOn'];
echo "<p>$RAID</p>";
echo "<p>$InstalledOn</p>";
$tsql = "insert into dbo.test (test) values ('$InstalledOn $RAID')";
提交后,TEST表将更新。
我以以下方式设置表格元素(作为生成表格本身的PHP函数的一部分: HTML
<input type=\"text\" class=\"InstalledOn_Input\" name=\"$r_RAAID\" onChange=\"DynamicUpdateCP($r_RAAID,this.value);\" placeholder=\"$r_CPInstalledOnDate\"></input>
JS
function DynamicUpdateCP(id,value){
$.ajax({
data: {RAID: id, InstalledOn: value},
url: './functions/post_Updates.php',
type: 'POST'
});
alert(id + ' has changed to ' + value);
}
如果我删除$ .ajax部分,则alert()将按预期方式触发。不过,目前,编辑字段并按回车键或更改焦点都没有任何作用。
在这里,关于丢失链接的任何指导都是惊人的。谢谢。
@Pointy 我将onchange = ...的部分重新格式化为:
onChange=\"DynamicUpdateCP(\"$r_RAAID\",\"this.value\");\"'
在调试控制台中出现的错误是:
未捕获到的SyntaxError:输入意外结束
jQuery导入语句:
<script rel="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
答案 0 :(得分:0)
编辑:正在使用HTTP而不是HTTPS调用JQuery脚本。更新到下面:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
将jquery的版本更改为3.4.1,并且ajax调用运行良好。