【问题标题】:how can i get a value from inside a function using java script?如何使用javascript从函数内部获取值?
【发布时间】:2019-06-07 03:17:32
【问题描述】:

这是脚本内部的函数

function dosubmit()
  {
    if (getObj("Frm_Username").value == "")
    {
      getObj("errmsg").innerHTML = "Username cannot be empty.";
      getObj("myLayer").style.visibility = "visible" ;
      return;
    }
    else
    {
      getObj("LoginId").disabled = true;
      getObj("Frm_Logintoken").value = "3";
      document.fLogin.submit();
    }
  }

我想得到getObj("Frm_Logintoken") 的值 因为我无法从#Frm_Logintoken 中提取值

使用document.getElementById("#Frm_Logintoken") 这给了我 null

因为 Frm_Logintoken 只有在我点击提交时才会获得它的价值。

<input type="hidden" name="Frm_Logintoken" id="Frm_Logintoken" value="">

完整的page code

我在网上找到了这个/getObj\("Frm_Logintoken"\).value = "(.*)";/g 但是当我运行它时......它再次给了我同样的线路! 这是完整的代码 https://hastebin.com/gurosatuna.xml

【问题讨论】:

  • 不是一直都是3吗?
  • @Phil 不,每次成功登录都会增加一
  • 您想对值做什么,更重要的是,何时
  • 试试不带数字符号的document.getElementById("Frm_Logintoken")
  • “数字符号”,也称为“井号”“hash”(或 “尖锐”如果你喜欢乐谱)

标签: javascript html token hidden-field login-script


【解决方案1】:

第一:

您使用 JS 检查值是否为空。但是,这不是必需的,因为 HTML 会为您执行此操作。添加必填属性,只要该值为空,表单就不会提交

文档:https://www.w3schools.com/tags/att_input_required.asp

第二:

您可以在“提交时”使用事件处理程序。代码不够完整,无法知道您是否这样做,但我想您只是在按钮上添加了一个 Click 处理程序。

文档:https://www.w3schools.com/jsref/event_onsubmit.asp

当结合这两者时,你总是有一个用户名填写,代码只有在提交时才会执行。我希望这会有所帮助,如果没有,请发表评论,我将编辑此答案。

编辑:这个 SO 的答案也会有所帮助(不是选中的,而是下面的那个)

How can I listen to the form submit event in javascript?

【讨论】:

  • “添加一个必填属性,只要这个值为空,表单就不会提交”它已经存在了!!但是 document.fLogin.submit();刷新页面并在 3 次错误尝试后锁定...这不仅仅是单击按钮,因为它只是显示弹出的用户名不能为空。 ....关于第二部分,我不拥有代码,它是已经编写的代码,所以我不知道在页面加载后编辑代码是否有帮助...
猜你喜欢
  • 2011-03-31
  • 2019-08-20
  • 2011-09-10
  • 2012-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
相关资源
最近更新 更多