【问题标题】:jQuery How do set text in a input field then press enter?jQuery如何在输入字段中设置文本然后按Enter?
【发布时间】:2018-05-18 15:59:41
【问题描述】:

jQuery 如何在输入字段中设置文本然后按回车?如果我手动输入文本,则我有输入字段,然后提交按钮将被启用,但如果我使用 jQuery 输入文本,则该按钮将不会启用。如何启用按钮?我正在使用带有 Selenium 的 jQuery

这是我在此页面上寻找的 verizonwireless.com/support/contact-us,如果您在搜索字段中输入内容,“X”将显示,但如果您使用 JQuery 输入,则不会。那么,当我使用 jquery 输入文本时,如何让“X”显示出来呢? $('#vgn_q').val('iphone').change();我试过了,但没有运气

【问题讨论】:

  • 分享你到目前为止所尝试的..相关的HTML和JS
  • 触发更改事件...。如果您显示了代码,现在可能已经有了答案。但是你为什么不使用 Selenium 来改变表单值呢?
  • $('#phone').val('123-123-1234') 这会将值设置到编辑框。当我输入值时,手动提交按钮将启用,因为您正在输入。如果我使用 Jquery,我实际上并没有打字,所以提交按钮将不会被启用。我将如何执行更改或键入方案?

标签: jquery selenium input set enter


【解决方案1】:

做这样的事情

当输入中有某些值时更改按钮条件

var input = $("input");
var target = $("button");

input.on("change keyup",function(){
        if($(this).val() !== ''){
    target.prop("disabled",false);
  }else{
    target.prop("disabled",true);
  }
})

jsfiddle:https://jsfiddle.net/synz/uxk87xjb/

【讨论】:

    【解决方案2】:

    给你一个解决方案

    $("input").on("change keyup",function(){
      if($(this).val() !== ''){
        $('button').prop("disabled",false);
      }else{
        $('button').prop("disabled",true);
      }
    })
    
    
    //Setting the value using jQuery
    setTimeout(function(){
      $('input').val("test").change();
    }, 2000);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text">
    <button disabled="disabled">submit</button>

    我已经使用 setTimeout 来展示输入文本框的值是在 2 秒后设置的。

    设置输入文本框的值后,需要触发更改事件。

    希望这会对你有所帮助。

    【讨论】:

      【解决方案3】:

      在文本框上设置值后检查长度并启用禁用按钮。

      $('#phone').val('123-123-1234')
      if ($('#phone').val().length > 0)
        $('#btnSubmit').removeAttr('disabled');
      else
        $('#btnSubmit').attr('disabled', 'disabled');
      $('#phone').keyup(function() {
        if ($(this).val() != '') {
          $('#btnSubmit').removeAttr('disabled');
        } else {
          $('#btnSubmit').attr('disabled', 'disabled');
        }
      });
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <input id='phone' type='text'/>
      <input type='button' disabled='disabled' id='btnSubmit' value='Submit' />

      【讨论】:

      • 我没有找到解决方案,但解决方法是设置输入框,然后像 Shree 提到的那样从按钮中删除 disabled 属性。
      【解决方案4】:

      我可以用下面的代码做到这一点。

      var e = jQuery.Event( "keypress" );
      $('#vgn_q').val('iPhone').trigger(e);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-07
        • 1970-01-01
        • 1970-01-01
        • 2021-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-17
        相关资源
        最近更新 更多