Javascript 点击按钮时如何编写js函数获取输入值

Javascript 点击按钮时如何编写js函数获取输入值,javascript,Javascript,我有几个class=“items”包括输入和按钮,我想单击按钮并确定同级输入是否有值 函数onClick(elem){ var$this=elem.tagName; var val=$this.sibbins('input[type=text]').val(); 如果(val=''){ console.log(“无输入”); }否则{ 控制台日志(val); } } 按钮1 按钮2 按钮3 将对象此传递给函数,并从该元素获取上一个元素 请注意:val()是jQuery方法,等效的JavaSc

我有几个class=“items”包括输入和按钮,我想单击按钮并确定同级输入是否有值

函数onClick(elem){
var$this=elem.tagName;
var val=$this.sibbins('input[type=text]').val();
如果(val=''){
console.log(“无输入”);
}否则{
控制台日志(val);
}
}

按钮1
按钮2
按钮3

将对象
传递给函数,并从该元素获取上一个元素

请注意:
val()
是jQuery方法,等效的JavaScript属性是
value

函数onClick($this){
var val=$this.previousElementSibling.value;
如果(val=''){
console.log(“无输入”);
}否则{
控制台日志(val);
}
}

搜索1
搜索3
搜索3

您需要进行这些更改以获取元素值

  • 使用上一个元素同级,因为该元素位于按钮之前
  • onclick
    方法
    onclick(this)
  • 您没有使用jQuery,因此
    .sides
    将无法工作,因为这在jQuery库中可用
  • 函数onClick(elem){
    var val=elem.previouselement同级.value;;
    //var val=$this.sibbins('input[type=text]').val();
    如果(val=''){
    console.log(“无输入”);
    }否则{
    控制台日志(val);
    }
    }
    
    按钮1
    按钮2
    按钮3
    
    您可以通过onClick函数传递输入标记的id

    function onClick(elem) {
      var $this = $(elem);
      var val = $this.val();
      if (val == '') {
        console.log('no input');
      } else {
        console.log(val);
      }
    }
    
    <div class="items">
      <input type="" name="" id="keywordSearch1" placeholder="">
      <button onclick="onClick('#keywordSearch1')">button1</button>
    </div>
    <div class="items">
      <input type="" name="" id="keywordSearch2" placeholder="">
      <button onclick="onClick('#keywordSearch2')">button2</button>
    </div>
    <div class="items">
      <input type="" name="" id="keywordSearch3" placeholder="">
      <button onclick="onClick('#keywordSearch3')">button3</button>
    </div>
    
    函数onClick(elem){
    变量$this=$(elem);
    var val=$this.val();
    如果(val=''){
    console.log(“无输入”);
    }否则{
    控制台日志(val);
    }
    }
    按钮1
    按钮2
    按钮3
    
    首先,我建议您使用手动添加onClick到每个按钮。您还可以轻松地使用函数确定直接同级

    $(文档)。在('单击','项目>按钮',(e)=>{
    const siblingInputValue=$(e.target.prev().val();
    调试器;
    log('同级输入值:'+同级输入值);
    });
    
    
    btn 1
    btn 2
    btn 3
    
    您有两个问题:

    首先,您的
    onClick
    函数有一个
    elem
    参数,但您从未传入它。为此,您需要在HTML中使用
    onclick=“onclick(this)”
    ,这样当调用
    onclick
    函数时,您将获得当前元素作为参数

    函数onClick(elem){
    var$this=elem.tagName;
    控制台日志(elem);
    }
    
    按钮1
    
    $this=elem。标记名将生成一个字符串变量
    $this。兄弟姐妹
    似乎试图将其视为jQuery对象。不,我已经发布了我自己的。由于我正在写额外的文本,我花了很长时间。否则,我可以在你之前发布它。呃,为什么要传递元素的ID?如果您更改了ID,您现在必须更改两段代码以确保它仍然有效。此外,您还可以单击按钮并在整个页面上启动搜索,以了解您单击的内容。至少有三种不同的方法可以直接获取单击的元素,而不必以任何方式查找它。