我有三个锚链接:
<a name="send1" href="#signup" >go 1</a>
<a name="send2" href="#signup" >go 2</a>
<a name="send3" href="#signup" >go 3</a>
当用户点击链接时,会显示相同的弹出窗体:
<div id="signup">
<form action="send_form.php">
<input name="text" type="text">
<button type="submit">Send</button>
</form>
</div>
&#34; send_form.php&#34;当用户点击&#34;发送&#34;时执行。我想检查点击了哪个链接,并做了不同的事情。
答案 0 :(得分:2)
据我所知,你不能只使用PHP。
我的意思是你试图了解哪些链接被按下了,这与表单本身没什么关系。
为了实现这一点,我建议你使用javascript或jQuery在表单中设置一个隐藏字段,然后发送它。
示例:
链接:
<a href="#test" name="test">link</a>
形式:
<div id="signup">
<form action="send_form.php" method="post">
<input type="hidden" name="linkPressed" />
<input name="text" type="text" />
<button type="submit">Send</button>
</form>
</div>
javascript(假设是jQuery):
$('a').click(function(){
$('#linkPressed').val($(this).attr('name'));
});
send_form.php:
$pressedlinkname = $_POST['linkPressed'];
你就是。
不要将其作为问题的准确解决方案:通过以下方式激发您的解决方案。
希望这有帮助。
答案 1 :(得分:1)
你无法从PHP中知道这一点。这是你可以通过使用javascript(或更好的,jQuery)找到的东西。
方法是:
这就是使用jQuery的样子:
HTML:
<a name="send1" id="send1" href="#signup">go 1</a>
<a name="send2" id="send2" href="#signup">go 2</a>
<a name="send3" id="send3" href="#signup">go 3</a>
<div id="signup">
<form action="send_form.php">
<input name="text" type="text">
<input name="hidden_field" id="hidden_field" type="hidden" />
<button type="submit">Send</button>
</form>
</div>
的javascript:
var the_anchor;
$('#signup').dialog({
autoOpen:false,
close: function(){
$(this).dialog('close');
}
});
$('a').click(function() {
the_anchor = $(this).attr('id');
$('#hidden_field').val(the_anchor);
$('#signup').dialog('open');
});
请注意,如果您使用的是jQuery,则必须在文档的<head>
标记中引用jQuery库:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/flick/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
</head>
答案 2 :(得分:0)
URL的哈希(#)部分仅在客户端使用。它永远不会出现在服务器日志,请求中,也不会作为REFERRER字符串的一部分出现。你必须通过FORM(使用javascript)发送它,例如:
<input name="hash" type="text">
并使用JavaScript
更改输入值答案 3 :(得分:0)
的Javascript!
//html
<a name="send1" href="#signup" onclick="myFunction(1)>go 1</a>
<a name="send2" href="#signup" onclick="myFunction(2)>go 2</a>
<a name="send3" href="#signup" onclick="myFunction(3)>go 3</a>
<div id="signup">
<form action="send_form.php">
<input name="text" type="text">
<input id="clicked" type="hidden" value=0>
<button type="submit">Send</button>
</form>
</div>
//js
function myFunction(x){
document.getElementById("clicked").value = x;
}
答案 4 :(得分:0)
首先,在表单中添加隐藏的输入:
<input type="hidden" id="clicked_link" name="clicked_link" value="" />
然后使用一些jquery:
$(document).ready(function(){
$('a').click(function() {
$('#clicked_link').val($(this).attr('name'));
});
});
或者你可以使用纯粹的javascript,但它是类似的方法..