javascript 接收onclick传递的参数并输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 接收onclick传递的参数并输出相关的知识,希望对你有一定的参考价值。

<script>
function openLayer(objId,conId,Name)
…………

</script>
<a onclick="javascript:openLayer('test_obj','test_con','测试文字');">测试</a>
<div id="test_boj">
<script>请问怎么把onclick中的测试文字在这里输出?</script>
</div>

请看上面的代码,不同的链接有不同的oncick值,请问怎么在test_obj这个标签中输出Name?
可不可以在<div id="test_boj"></div>这个标签里面用<script></script>这种方式输出啊?
因为这个这个id不固定
<a onclick="javascript:openLayer('test_obj','test_con','测试文字');">,这个onclick里面都是变动的

参考技术A 分比较高..抢一下啊...
不知道楼主'test_con'是用来干嘛的.
不过可以看出来'test_obj'是用来显示的div 的id.
所以将楼上那位的代码改了一下..看看是不是你要的效果.
<script>
function openLayer(objId,conId,Name)
//改动处...
document.getElementById(objId).innerhtml = Name;

</script>
<a href="javascript:openLayer('test_obj','test_con','测试文字');">测试</a>

<div id="test_obj"></div>
<a href="javascript:openLayer('test_obj2','test_con','测试文字2');">测试2</a>

<div id="test_obj2"></div>
<a href="javascript:openLayer('test_obj3','test_con','测试文字3');">测试3</a>
<div id="test_obj3"></div>

楼主的错别字还真多...
试一下程序吧..
楼主把
<div id="test_obj">写成<div id="test_boj">....
参考技术B <script>
function openLayer(objId,conId,Name)
document.getElementById(objId).innerHTML = Name;

</script>
<a onclick="javascript:openLayer('test_obj','test_con','测试文字');">测试</a>
<div id="test_boj">
</div>本回答被提问者采纳
参考技术C 使用WINDOW.EVEN检测ONLICK事件,把NAME定义成全局变量,在<script>(请问怎么把onclick中的测试文字在这里输出?)在这里使用该变量直接输出NAME的值</script> 参考技术D <script>
function openLayer(objId,conId,Name)
test_boj.innerHTML = Name;

</script>
<a onclick="javascript:openLayer('test_obj','test_con','测试文字');">测试</a>

<div id="test_boj"></div>

JavaScript onclick传递对象参数(easyui传递一行数据时)错误:uncaught SyntaxError: Unexpected identifier

JavaScript onclick传递对象参数(easyui传递一行数据时)错误:uncaught SyntaxError: Unexpected identifier

 

博主遇到的是用onclick传递对象参数时(easyui传递一行数据时),会报Sncaught SyntaxError: Unexpected identifier错误。 
经查,onclick(对象)这种传递对象形式里面的对象会变成onclick([object Object])

  • 解决方法:将对象转化为json字符串,再将json字符串的双引号转换成单引号就行了
  • 思路: JSON.stringify().replace(/\”/g,”’”)将对象转化成JSON字符串传递,函数接收后会自动变成对象(原理暂不清楚)。
  • 过程解释: JSON.stringify()将对象转化成JSON字符串;.replace(/\”/g,”’”)将JSON字符串中的双引号转化成单引号,不然会报Unexpected end of input错误(这个错误是由于带的json字符串。它的双引号与onclick控件的双引号冲突了)

  • 代码内容如下

  • 传递参数
 var $row = JSON.stringify(row).replace(/\"/g,"‘");//row的是一个对象
 <a href="#" onclick="editParentRow(‘+$row+‘)">编辑</a>//拼接传递对象
  • 1
  • 2

  • 接收参数
    function editParentRow(obj){     
       console.log(obj);//console打印
       alert(obj);//提示框
    }

以上是关于javascript 接收onclick传递的参数并输出的主要内容,如果未能解决你的问题,请参考以下文章

使用javascript进行表单提交 ,form0是表单的ID,但是为啥跳转后的页面接收不到该页面传递的参数呢?

jquery怎么和纯js一样接收onclick带来的参数?

关于onclick事件中的参数传递问题

传递给 onclick 函数的 blazor 变量参数 [重复]

JS onclick 中如何传两个参数给 JS方法

thinkphp js参数传递问题