我怎样才能给我的按钮同样的效果?因为他们都一样。但我想做的是,当我点击它们时,有一个“灵魂一样”的验证。
用php编写我的代码
echo "<form action='receipt.php?name=$name' method='post'>
<input style='position:absolute; top:$this->yForBuy; left:$this->xForBuy; z-index:4;' type='button' id='btnSubmit' value='Purchase'/>
<input type='hidden' name='bidder' value='$name'>
<input type='hidden' name='item_no' value='$no'>
<input type='hidden' name='item_name' value='$itname'>
<input type='hidden' name='item_price' value='$bid'>
</form>";
<label id='soul' style='position:absolute; z-index:5; color:black;'>purchased!</label>,这是js中的代码
$(document).ready(function(){
$("#soul").hide();
$("#btnSubmit").click(function()
{
var position = $(this).position();
var topTo = position.top-10;
alert("position: "+position.top+"\n new position:"+topTo);
$("#soul")
.css({'top' : topTo , 'left' : position.left, 'display' : 'block'})
.show();
});
});如果您在这里使用OOP结构,这就是为什么我有多个具有相同功能的按钮。我在javascript部分挣扎,我不知道我如何做到这一点。

发布于 2014-03-26 04:40:58
id属性在页面上应该是唯一的,并且不对每个按钮重复。JS不能处理#btnSubmit出现不止一次的事实。
如果代码是由php循环生成的,那么您可能需要实现ids的编号。#btnSubmit1,#btnSubmit2等。
要么向按钮中添加类并将其用作公共选择器,要么尝试HTML5数据属性。
echo "<form action='receipt.php?name=$name' method='post'>
<input style='position:absolute; top:$this->yForBuy; left:$this->xForBuy; z-index:4;' type='button' class='purchaseButton' value='Purchase'/>
<input type='hidden' name='bidder' value='$name'>
<input type='hidden' name='item_no' value='$no'>
<input type='hidden' name='item_name' value='$itname'>
<input type='hidden' name='item_price' value='$bid'>
</form>";
<label id='soul' style='position:absolute; z-index:5; color:black;'>purchased!</label>然后:
$(document).ready(function(){
$("#soul").hide();
$(".purchaseButton").click(function()
{
var position = $(this).position();
var topTo = position.top-10;
alert("position: "+position.top+"\n new position:"+topTo);
$("#soul")
.css({'top' : topTo , 'left' : position.left, 'display' : 'block'})
.show();
});
});为了动画,包括表单的id属性(同样必须是唯一的) <form action='receipt.php?name=$name' id='FORMID' method='post'>
然后在js中:
$(document).ready(function(){
$("#soul").hide();
$(".purchaseButton").click(function()
{
var position = $(this).position();
var topTo = position.top-10;
alert("position: "+position.top+"\n new position:"+topTo);
$("#soul")
.css({'top' : topTo , 'left' : position.left, 'display' : 'block'})
.show();
$('#WHATEVER').animate({
// whatever options here..
complete: function() {
// this will run after the animation has finished
$('#FORMID').submit(); // manually submit the form
}
});
});
});https://stackoverflow.com/questions/22651523
复制相似问题