我正在尝试从锚点内的onClick过程更新数据库。
<a name=“fs1” onClick="updateArea1();"></a>
我正在努力使用 updateArea1 的功能,因为我不确定如何从锚点传递名称“fs1”并从a更新数据库脚本过程。
我基本上希望像这样更新数据库: UPDATE行WHERE id = 1 WITH(name_from_anchor)
然而......变量不一定来自名称标签。如果它更容易,可以在函数的括号中引用它。
<a onClick="updateArea1(fs1);"></a>
非常感谢任何帮助。
- 更新 -
LAUNCH.PHP
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes" />
<script src="includes/scripts/jquery-2.0.3.min.js"></script>
<script>
function updateArea1(el) {
$.post("includes/db_update.php", $("#console").serialize());
}
</script>
</head>
<body>
<a name="fs1" onClick="updateArea1(this.name);"></a>
<a name="fs2" onClick="updateArea1(this.name);"></a>
</body>
</html>
DB_UPDATE.PHP
<?php
include 'db_connect.php';
$area1= mysqli_escape_String($con,$_POST[]);
$query = "UPDATE previewState SET selected='".$area1."' WHERE id='1';";
mysqli_query($con,$query);
mysqli_close($con);
?>
答案 0 :(得分:3)
如果您传递this
,则可以执行以下操作:
<a name="fs1" onClick="updateArea1(this);"></a>
updateArea1(el){
alert( el.name)
}
答案 1 :(得分:2)
由于您已使用Jquery标记了此问题,为什么不使用该元素的单击处理程序,如
$('a').click(function(e){
e.preventDefault();
updateAreat1($(this).attr('name'));
})
答案 2 :(得分:2)
这很简单。 Here's the demo
<a name="temp" onClick="updateArea1(this.name);">label</a>
function updateArea1(el){
alert( el)
}
答案 3 :(得分:1)
为onclick事件分配函数时,可以使用此函数访问触发事件的元素(如果函数是全局函数或在窗口范围内)。
所以只需在updateArea1函数中使用this.name
。
function updateAreaa1(){
updateDb(this.name); //this will refer to the element that triggered the click event.
}
希望这有帮助。