<span class="modalclass" value="<? $product_name; ?>" onClick="alert(this.value)">hi
<button type="button" id="myBtnaa" value="<?= $product_id; ?>" onClick="alert(this.value)">BUY NOW</button>
</span>
当我单击范围时,没有警告范围中的值($ product_name)。它说未定义。如果有按钮,则可以使用。
答案 0 :(得分:2)
由于无法使用<??>
或<?=?>
,因此未执行您的php脚本:
value="<?=$product_id?>"
和
value="<?=$product_name?>"
请注意,跨度没有value
属性。另外,不建议对嵌套元素使用内联onclick
。试试HTML 5 data-*
。
.btn {
border: 1px solid gray;
line-height: 25px;
background-color: ghostwhite;
padding: 10px 5px;
cursor: pointer;
}
<span data-value="Hello" onclick="alert(this.getAttribute('data-value'))" class="btn">Click me</span>
答案 1 :(得分:1)
请注意,span没有value属性,因此我将其替换为data-value
<span class="modalclass" data-value="<?=$product_name?>" onClick="alert(this.getAttribute('data-value'))">
hi
<button type="button" id="myBtnaa" value="<?=$product_id?>" onClick="alert(this.value)">BUY NOW</button>
</span>
答案 2 :(得分:1)
您要通过跨度传递产品名称,并通过button传递产品ID。为什么呢对于开发人员来说,JQuery / AJAX是一个非常强大的工具,可以减轻他们的生活,并使您变得复杂。如果要在页面上显示产品名称和ID,请跨度显示,否则显示为:none。检查以下代码:-
<script>
$(document).ready(function(){
$("#myBtnaa").on('click', function(){
var text = document.getElementById("myspan").innerHTML ;
var res = text.split("|") ;
alert(res[0]) ;
alert(res[1]) ;
});
});
</script>
HTML:-
<span class="modalclass" id="myspan" style="display:none;"><?php echo "8|Maggi Noodles" ; /*This value can come from two variables*/ ?></span>
<button type="button" id="myBtnaa">BUY NOW</button>