当前位置: 首页 > 知识库问答 >
问题:

使用Javascript使按钮有条件地可见

夏侯航
2023-03-14

我正在表单上放置一个javascript按钮。脚本工作,但我可以使该按钮只有当描述字段以数字开头时才可见吗?

function ShowOnBaseInvoiceDocument0()
{
    var onBaseServer = "someserver";
    var appName = "Dev";
    var screenID = "90";
    var accField = "InvoiceNum";
    var venField = "VendorID";
    var company = Form.getDataValue("TO-COMPANY");
    var RefNums = Form.getDataValue("REFERENCE", 0);
    var RefNum = RefNums.trim();
    var sVenNumbers = Form.getDataValue("DESCRIPTION", 0);
    var sVenNumber = sVenNumbers.substring(0,9);
            
    if (RefNums == "")
    {
        portalWnd.cmnDlg.messageBox("Not a valid invoice.","ok","info",window,false)
        return true;
    }
        var s = "http://" + encodeURIComponent(onBaseServer) 
        + "/OnBaseLinkScanWeb/AccLogin.aspx?DBID=" + encodeURIComponent(appName) 
        + "&ScreenID=" + encodeURIComponent(screenID) 
        + "&Company=" + encodeURIComponent(company) 
        + "&RefNum=" + encodeURIComponent(RefNum) 
        + "&" + encodeURIComponent(venField) + "=" + encodeURIComponent(portalWnd.strTrim(sVenNumber)); 

      //portalWnd.cmnDlg.messageBox(s,"ok","info",window,false)

      window.open(s, "My Invoice");
      console.log(s);
      return true;
}

共有1个答案

酆勇
2023-03-14

您可以简单地循环所有行,然后检查第一列是否以数字开头,如果不是,您可以简单地隐藏按钮

null

document.querySelectorAll("tr").forEach(row => {
  const firstCol = row.children[0];
  const secondCol = row.children[1];
  if (!"0123456789".includes(firstCol.innerText[0])) {
    secondCol.style.visibility = "hidden";
  }
});
<table>
  <tr>
    <td>1234567</td>
    <td><button>Click</button></td>
  </tr>
  <tr>
    <td>HelloWorld</td>
    <td><button>Click</button></td>
  </tr>
  <tr>
    <td>245Bye</td>
    <td><button>Click</button></td>
  </tr>
  <tr>
    <td>Upvote</td>
    <td><button>Click</button></td>
  </tr>
</table>
 类似资料:
  • 我试图翻译这个(简化)代码使用Java-8流: 以下是我尝试过的: 但以上给出了所有

  • 问题内容: 我正在尝试使用HTML按钮来调用JavaScript函数。 这是代码: 问题答案: 有几种使用HTML / DOM处理事件的方法。没有真正的对或错方法,但是在不同情况下使用不同的方法很有用。 1:在HTML中进行定义: 2:将其添加到Java事件中的DOM属性中: 3:并且使用Javascript将函数附加到事件处理程序: 第二种方法和第三种方法都允许使用内联/匿名函数,并且都必须在从

  • 问题内容: 我了解到,您可以仅通过将HTML按钮附加到其标签来禁用(使其实际上不可点击),但不能将其作为属性,如下所示: 由于此设置不是属性,因此如何通过JavaScript动态添加此设置以禁用以前启用的按钮? 问题答案: 由于此设置不是属性 这是一个属性。 一些属性定义为布尔值,这意味着您可以指定它们的值,而忽略其他所有内容。即,您只包括粗体部分,而不是disabled =“ disabled

  • 问题内容: 我正在尝试使用HtmlUnit在javascript按钮后面下载附件。执行其他任务效果很好(例如,导航,登录)。我检查了附件单元测试,但没有帮助我。 但是,它的结尾是: 创建的文件大小为0。必须有一种方法可以获取附加的真实文件?! 先感谢您 问题答案: 以防万一其他人想知道:您需要使用AttachmentHandler。

  • 本文向大家介绍使用button当按钮和使用div当按钮有什么区别?相关面试题,主要包含被问及使用button当按钮和使用div当按钮有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 button具有默认样式 button在表单中具有默认的提交事件 button具有disabled属性可以禁用

  • 问题内容: 我正在使用“可拖动”指令来支持图像拖动。但是,根据用户的角色,我需要为某些用户组禁用图像拖动。我使用了以下代码。 该方法在模板范围内,并返回或。我不想为所返回的每个值创建两个大的重复元素。换句话说,我不是在寻找以下方法来解决此问题。 还有其他方法可以避免代码重复吗? 问题答案: Angular包含对有条件声明HTML属性的支持,作为动态标题指令。 的官方文件 例 在您的情况下,代码可能