javascript - onclick 事件上的转义参数不起作用

标签 javascript html onclick innerhtml

我正在 atm 致力于将动态表放入 html 页面中,并在每个表行的第一列上有一个按钮来显示项目的描述(它是一个项目列表)。

但是,当使用onclick事件设置innerhtml时,我无法触发警报。当我想调用另一个JS函数来调用警报并尝试在我的onclick函数中传递参数时,它不会执行任何操作,当尝试时转义引号没有任何效果。

Javascript

function showAuctionList(auctionList){
  var table = document.getElementById("myTableData");

  for(var i = 0 ; i< auctionList.length ; i++){
    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    var description = auctionList[i].itemDesc;

    row.insertCell(0).innerHTML= '<input type="button" value = "Show Description" onclick="showDescription( description)">';
    row.insertCell(1).innerHTML= auctionList[i].auctionId;
    row.insertCell(2).innerHTML= auctionList[i].sellId;
    row.insertCell(3).innerHTML= auctionList[i].startDate;
    row.insertCell(4).innerHTML= auctionList[i].endDate;
    row.insertCell(5).innerHTML= auctionList[i].buyNow;
    row.insertCell(6).innerHTML= auctionList[i].minBid;
    row.insertCell(7).innerHTML= auctionList[i].actualBid;
    row.insertCell(8).innerHTML= auctionList[i].itemCat;
    row.insertCell(9).innerHTML= auctionList[i].itemName;
    row.insertCell(10).innerHTML= auctionList[i].itemDesc;
  }
}

function showDescription(desc){
  alert(desc);
}

HTML

  <div id="search" style="display:none">
  <button id="searchButton" onclick="


google.script.run.withSuccessHandler(showAuctionList).getAuctionList()"> Search </button> <br>
  <div id="mydata">
    <table id="myTableData"  border="1" cellpadding="2">
      <tr>
        <td>&nbsp;</td>
        <td><b>Auction ID</b></td>
        <td><b>Seller ID</b></td>
        <td><b>Start Date</b></td>
        <td><b>End Date</b></td>
        <td><b>Buy now option</b></td>
        <td><b>Min Bid</b></td>
        <td><b>Actual Bid</b></td>
        <td><b>Category</b></td>
        <td><b>Item Name</b></td>
        <td><b>Description</b></td>
     </tr>
    </table>
    &nbsp;<br/>
</div>

gs 函数调用:

 function doget(e){
   ...
   return HtmlService.createTemplateFromFile('Main').evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
 }

可以逃避描述作为参数的作用吗?或者解决这个问题的方法是什么?其余的工作得很好

最佳答案

试试这个。由于描述似乎是一个字符串值,您需要用qoutes包围它。

row.insertCell(0).innerHTML = '<input type="button" value = "ShowDescription"  onclick="showDescription(\'' + description + '\');">';

关于javascript - onclick 事件上的转义参数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34147773/

相关文章:

javascript - 如何访问该函数内的数据?我相信这是一个 promise ,但我不确定

javascript - 解决错误时对socket.write的 promise (nodejs)

html - 在我的横幅和中心放置 2 个按钮 div

javascript - 单击时通过下一个/上一个按钮选择元素

javascript - 如何选择 'this' onclick?

Android应用程序开发问题: How do I lower keyboard after onClick?

javascript - 类型错误 : Cannot read property 'success' of undefined

javascript - 像 twittervision 一样移动 google map

javascript - 当不同跨度具有事件类时更改跨度的内容

html - 在不同宽度的图像上将 Div 定位在同一位置