表单输入期间删除占位符后显示div

时间:2018-06-29 14:54:16

标签: javascript jquery html css forms

我有一个要在客户输入表单时显示的div。我最初虽然通过z-index解决方案可以解决此问题,但显示/显示选项似乎更好。

但是,它似乎不起作用。可以将其缩短或以更好的方式进行吗?

    $(document).ready(function(){
    if ($("input#poundprice").text().length > 0) {
        $('.pence-sign').show();
        //$('.pence-sign').addClass('display:block;');
    }                                           
    });

这里是JSFiddle

1 个答案:

答案 0 :(得分:3)

您需要检查实际何时在框中键入内容。当前执行的操作仅在页面加载时运行一次。

$(document).ready(function(){
  $("#poundprice").on("change keydown paste",function(e) {
  	$('.pence-sign').show();  
  });
  
  $("button").click(function(e){
    e.preventDefault();
  });
});
.pence-sign {
  position: absolute;
  top: 23%;
  left: 30%;
  text-transform: lowercase;
  font-family: arial;
  display: none;
}

input, button {
    appearance: none;
    border: none;
    font-size: inherit;
    background: #eee;
    border-radius: 3px;
    padding: 1rem;
    width: 100%;
    max-width: 280px;
    margin-bottom:1rem;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form style="position:relative">
  <div class="poundinput" style="position:relative;">
    <p class="pence-sign">pence</p>
    <input id="poundprice" name="price" type="currency" placeholder="Enter p value" required="">
  </div>
  <button type="submit">Submit</button>
</form>