跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何用 JavaScript 获取论坛、博客等不同网站光标所在的 form 元素调用 submit()
未分類
11 5 月 2020

如何用 JavaScript 获取论坛、博客等不同网站光标所在的 form 元素调用 submit()

如何用 JavaScript 获取论坛、博客等不同网站光标所在的 form 元素调用 submit()

資深大佬 : soooulp 10

想通过 JavaScript,获取论坛、博客等不同网站光标所在当前 form,调用 submit() ,执行 input 或者 textarea 输入框为 type=”submit”的提交,不再点按钮和按 enter

现在没办法识别不同网站光标所在的 input 或 textarea 的 form 元素

尝试了下面的方法,就百度的有效果,论坛按 ctrl+enter 不能提交的 textarea 输入框没效果,再有些论坛不能确定回复文本框的序号,会执行搜索输入框,即第一个 form
不同网站 form 的 name 不一样,也不能通过 form[name]调用

document.forms[0].submit() 

尝试了用下面的方法,没有效果

this.submit() 

大佬有話說 (6)

  • 資深大佬 : autoxbc

    document.activeElement
    https://www.runoob.com/jsref/prop-document-activeelement.html

  • 主 資深大佬 : soooulp

    @autoxbc 谢谢大佬回复,document.activeElement 可以获取当前 DOM 的元素,可是无法调用 submit 提交呀,是不是只有 form 可以调用

  • 資深大佬 : autoxbc

    HTMLFormElement.prototype.submit
    submit 是 form 原型对象上的方法,只有 form 实例才可以 submit,因为 submit 需要的地址 action 在 form 上,单独的 input 去 submit 本身也不合逻辑

    HTMLInputElement.prototype.form
    input 原型对象上有 getter 属性 form,指向 input 所属 form,所以按照题目的意思,可以 input.form.submit()

  • 資深大佬 : autoxbc

    HTMLTextAreaElement.prototype.form
    textarea 也有这个属性

  • 主 資深大佬 : soooulp

    解决了,csdn 大佬给有个遍历节点元素的方法

    “`
    function getParentFormByChild(ele){
    while(ele.parentNode.tagName.toLowerCase() !== ‘body’ && ele.parentNode.tagName.toLowerCase() !== ‘form’){
    ele = ele.parentNode
    }
    if(ele.parentNode.tagName.toLowerCase() === ‘body’ ) return null
    return ele.parentNode
    }

    function 油猴子点击图标事件(){
    let ele = “油猴子获取当前光标所在 input 的 dom 元素”
    let fromEle = getParentFormByChild(ele)
    if(fromEle) fromEle.submit()
    }
    “`

  • 主 資深大佬 : soooulp

    @autoxbc 再次谢谢传授

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具