Javascript或jQuery根据值填充数据

时间:2018-11-13 05:15:00

标签: javascript jquery

我目前正在尝试找到一种解决方案,以简化我的员工的登录。理想情况下,我正在寻找一种js或jQuery脚本,该脚本根据输入的数据预填充2个输入字段。

例如主要字段应为:输入令牌

如果令牌等于123,则用一定数量的数据填充input1和input2,而如果令牌为456,则用其他数据填充-如果没有令牌匹配,则不填充任何数据。我知道这是非常不安全的,但是由于它只在本地运行,因此可以满足我的特定需求。

<style>.hidden {display: none !important;}</style>

<form>
    <input id="token" type="text">
    <input class="hidden" id="input1" type="text">
    <input class="hidden" id="input2" type="password">
    <input type="submit">
</form>

一些建议将不胜感激,谢谢

3 个答案:

答案 0 :(得分:3)

这非常简单,您可以像其他情况一样使用条件语句来获得所需的结果。

这是您解决问题的方法。

var token=$('#token').val();
if(token==123)
{
  $('#input1').val('value1'); //set the value which you want to place here
  $('#input2').val('value2'); //set the value which you want to place here
}
else if(token==456)
{
  $('#input1').val('value1'); //set the value which you want to place here
  $('#input2').val('value2'); //set the value which you want to place here
}
else {
  $('#input1').val('');
  $('#input1').val('');
}

答案 1 :(得分:2)

您基本上是想根据add an input event listener#tokenset the valuesvalue entered的隐藏输入。

这样的东西就足够了...

// make sure this script goes AFTER the HTML

// A map of token to values
const secrets = {
  123: {
    input1: 'input1 123',
    input2: 'input2 123'
  },
  456: {
    input1: 'input1 456',
    input2: 'input2 456'
  }
}

const input1 = document.getElementById('input1')
const input2 = document.getElementById('input2')

document.getElementById('token').addEventListener('input', e => {
  const token = e.target.value
  
  // get the values or if the token doesn't exist, sensible defaults
  const secret = secrets[token] || {
    input1: '',
    input2: ''
  }
  input1.value = secret.input1
  input2.value = secret.input2
}, false)
<form>
  <input id="token" type="text" placeholder="Enter token">
  <input class="hidden" id="input1" type="text">
  <input class="hidden" id="input2" type="password">
  <input type="submit">
</form>

答案 2 :(得分:1)

尝试下面给出的jquery代码:

<script 
  src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"> 
</script>

<script type="text/javascript">
  $('#token').keyup(function() {
    if($(this).val() == 123) {
        $('#input1').val('1'); //assign the value you want
        $('#input2').val('1'); //assign the value you want
    } else if($(this).val() == 456) {
        $('#input1').val('2'); //assign the value you want
        $('#input2').val('2'); //assign the value you want
    } else {
        $('#input1').val('');
        $('#input2').val('');
    }
  });
</script>