在输入值后加上前缀

时间:2018-07-20 00:22:31

标签: javascript jquery forms

我正在尝试使用Jquery向输入字段值“注入”前缀,以便输入字段值将以“引荐电子邮件:{email address}”提交,其中{email address}是动态部分。我找到了以下代码段,但无法使其与我将字段值组合为一个输入的其他代码一起使用(如下)。有什么想法吗?

$("#notes").keyup(function(){
var prefix = "Referrer Email: "
if(this.value.indexOf(prefix) !== 0 ){
this.value = prefix + this.value;
}
});

$(function() {
  $('#ufirst_name, #ulast_name').on('input', function() {
    $('#recon').val(
      $('#ufirst_name, #ulast_name').map(function() {
        return $(this).val();
      }).get().join(' ') /* added space */
    );
  });
});
$(function() {
  $('#uliame').on('input', function() {
    $('#notes').val(
      $('#uliame').map(function() {
        return $(this).val();
      }).get().join(' ') /* added space */
    );
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="ufirst_name" placeholder="First Name" id="ulast_name" /><br>
<input type="text" name="ulast_name" placeholder="Last Name" id="ulast_name" />
<br>
<input type="email" name="uliame" placeholder="Email" id="uliame" required onClick="populate()" />
<br>
<input value="Referrer Email" name="Latest_Actions__c" type="text" id="notes" />
<br>
<input value="" name="Referrer_Contact__c" type="text" id="recon" />

3 个答案:

答案 0 :(得分:0)

仅将Referrer Email:连接到返回值该怎么办?

我删除了onClick="populate()",因为我只是不知道这是什么...

$(function() {

  $('#ufirst_name, #ulast_name').on('input', function() {
    $('#recon').val(
      $('#ufirst_name, #ulast_name').map(function() {
        return $(this).val();
      }).get().join(' ') /* added space */
    );
  });

  $('#uliame').on('input', function() {
    $('#notes').val(
      $('#uliame').map(function() {
        return "Referrer Email: "+$(this).val();
      }).get().join(' ') /* added space */
    );
  });
  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" name="ufirst_name" placeholder="First Name" id="ulast_name" /><br>
<input type="text" name="ulast_name" placeholder="Last Name" id="ulast_name" />
<br>
<input type="email" name="uliame" placeholder="Email" id="uliame" required />
<br>
<input value="Referrer Email" name="Latest_Actions__c" type="text" id="notes" />
<br>
<input value="" name="Referrer_Contact__c" type="text" id="recon" />

答案 1 :(得分:0)

尝试

$("#notes").keyup(function() {
    var prefix = "Referrer Email: "
    if($(this).val().indexOf(prefix) < 0 ){
        $(this).val(prefix + $(this).val());
    }
});

答案 2 :(得分:-1)

您正在尝试查找字符而不是单词的位置。 这应该起作用:

$("#notes").keyup(function(){
var prefix = "Referrer Email: "
if (!this.value.startsWith(prefix) ){
this.value = prefix + this.value;
}
});