Javascript 如何在单击时获取目标的名称并将值分配给另一个变量?
所以我有一个空变量Javascript 如何在单击时获取目标的名称并将值分配给另一个变量?,javascript,php,jquery,forms,variables,Javascript,Php,Jquery,Forms,Variables,所以我有一个空变量 var pName= null; 每次单击图像时,我都希望变量“pName”更改为该图像的名称 $(document).ready(function(){ $('img').on('click', check) }); function check(){ pName == target.name.value; console.log('pName'); } 现在我想把这个变量的值放到一个隐藏的形式中(或者,如果你建议的话,用任何其他方式),在php中提取
var pName= null;
每次单击图像时,我都希望变量“pName”更改为该图像的名称
$(document).ready(function(){
$('img').on('click', check)
});
function check(){
pName == target.name.value;
console.log('pName');
}
现在我想把这个变量的值放到一个隐藏的形式中(或者,如果你建议的话,用任何其他方式),在php中提取它,并将变量“$pName”(在php中)的值更改为隐藏形式的值
<label><input type="hidden" name="pNameChange" value=""></label>
我想在每一页上都这样做。我的代码似乎不起作用
编辑
我在每个页面上使用一个变量$pName(php)。我希望它动态更改为您单击的图像的名称。我不知道我做得对不对
编辑2
这是我的项目php文件:
<?php
$newRecord = null;
$pName = "kkk";
$db_connection = mysqli_connect('localhost','root','',"project_online_planner");
if (!$db_connection){
die('Failed to connect to MySql:'.mysql_error());
}
//insert into database
if(isset($_POST['insertComments'])){
include('connect-mysql.php');
$username = $_POST['username'];
$comment = $_POST['comment'];
$sqlinsert = "INSERT INTO user_comments (username, comment, project) VALUES ('$username', '$comment', '$pName')";
if (!mysqli_query($db_connection, $sqlinsert)){
die('error inserting new record');
}
else{
$newRecord = "1 record added";
}//end nested statement
}
//text from database
$query="SELECT * FROM user_comments where project = '$pName' ";
$results = mysqli_query($db_connection,$query);
$intro=mysqli_fetch_assoc($results);
$query2="SELECT * FROM project where name = '$pName' ";
$results2 = mysqli_query($db_connection,$query2);
$intro2=mysqli_fetch_assoc($results2);
?>
<?php
$pName =
$db_connection = mysqli_connect('localhost','root','',"project_online_planner");
if (!$db_connection){
die('Failed to connect to MySql:'.mysql_error());
}
$query="SELECT * FROM project ";
$results = mysqli_query($db_connection,$query);
$intro=mysqli_fetch_assoc($results);
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Project planner online</title>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="ppo.js"></script>
<link rel="stylesheet" href="ppo.css"/>
</head>
<body>
<div id="bgNav">
<nav id="nav">
<a href="index.php">Home</a>
<a class="rightNav" href="register.php">Register</a>
<a class="rightNav" href="login.php">Log in</a>
</nav>
</div>
<h2 class="titlePage">All projects</h2>
<div id="hugeTile">
<?php
while($row = mysqli_fetch_array($results))
{
$project = $row["project"];
echo "<div class='allProjectsWrapper'>";
echo nl2br("<div class='allProjectsTitle'>" . $row['name'] . "</div>");
echo nl2br("<div class='project'>" ."<img name=\"$project\" width='240px' height='170px' src='". $row['image'] ."'/>". "</div>");
echo "</div>";
}
?>
</div>
<form>
<label><input type="hidden" name="pNameChange" value=""></label>
</form>
首先向隐藏字段添加ID
<label><input type="hidden" name="pNameChange" id="pNameChange" value=""></label>
如果只想在单击图像后更改“pNameChange
”的值,则不需要PHP
还有,当你
pName == target.name.value;
它不赋值,而是使用比较
=
用于赋值
=
用于比较这样使用
$('img').click(function(){
pname= $(this).attr("name");
});
只需在check()函数中使用:
$("#pNameChange").val(pname);
别忘了在输入中添加id“pNameChange”
<input type="hidden" id="pNameChange" name="pNameChange" value="">
确保全局定义了var,从图像中获取href
属性,然后按其名称设置输入,因为您没有ID:
<script type="text/javascript">
var pName = '';
$(document).ready(function(){
$('img').on('click', function(){
pName = $(this).attr('href');
$("input[name=pNameChange]").val(pName);
})
});
</script>
是否要获取当前图像的名称?是的,我在每个页面上都使用了一个变量。我希望它动态更改为您单击的图像的名称。我不知道我做的是否正确。您是否从php数据库中获得$pName
?图像的名称是什么?你是通过某个数据属性声明名称,还是通过id/class,或者通过href,或者通过alt?否,我想要一个变量$pName,并且其值等于表单的值。我不知道如何在php中做到这一点,而不提交它。根据$pName的值,页面的所有内容都会发生变化。这是我的一个查询示例:$query=“SELECT*FROM user_comments,其中project='$pName'$pName应该是数据库中项目的名称。我的代码正常工作,只是我希望它能动态更改。在这里,我们必须假设图像名称与image href相同。@AbhishekPrakash他没有给出任何关于名称对他意味着什么的提示。。。除此之外,如果他需要在后端做些什么,我想他很可能真的想要得到那张图片的文件名。对不起,我只是用更多的细节编辑了它。
<script type="text/javascript">
var pName = '';
$(document).ready(function(){
$('img').on('click', function(){
pName = $(this).attr('href');
$("input[name=pNameChange]").val(pName);
})
});
</script>
<?php
$segments = explode('/', $pName);
if(!empty($segments)) {
$length = count($segments);
$img_name = $segments[$length-1];
}
?>