如何在IE8中单击TextBox时隐藏Span

时间:2014-12-26 10:10:40

标签: javascript jquery html

我需要什么

  • 我需要在用户点击文本框错误消息时隐藏或删除。

html代码

  <div class="6u pdt">

<input class="text orgsmall" type="text" name="designation" id ="designation" placeholder="Designation" value="" onfocus="$(this).parent().find('.name').text('');">
 <span class="name" style="color:red"></span>
</div>

JS

          <script>
            var designation=$("#designation").val();

            var email=$("#email").val();

            var company=$("#company").val();

            var website=$("#website").val();

            var country_name=$("#country_name").val();

            var city_name=$("#city_name").val();
            var mobile_code=$("#mobile_code").val();

            var description=$("#description").val();


                if(name =='Enter Your Name' || designation =='Designation' || company=='Company' || website=='Website' || country_name=='Country' || city_name=='City' || email=='Email' || mobile_code=='Mobile' || description=='Your Message....')
                {
                    $(".name").text("Please Enter values").show();
                    return false;

                }

调试

  • 我希望当用户提交表单时,如果字段为空表单未提交。

  • 显示错误消息。

  • 然后在点击文本框错误消息时最后删除。

  • 我只需要通过专注于文本框来访问span elemnt。

  • 在IE8中,占位符被视为文本框。

  • $(this).parent()。find('。name')。text(''); //返回[]

  • $(本).parent(); -undefined;
  • $( '名 ')文本('')。 //只能工作。

5 个答案:

答案 0 :(得分:1)

  

html中几乎没有变化

<input class="text orgsmall" type="text" name="designation" id ="designation" placeholder="Designation" value="" onfocus="$(this).parent().find('.name').hide();">
<span class="name" style="color:red">Error</span>
  

在js中很少

$("button").on("click",function(){
           var designation=$("#designation").val();
           alert(designation);
            if(designation =="")
            {
                $(".name").text("Please Enter values").show();
            }
 });

我根据你的要求编辑了我的小提琴。看看

Try out this Fiddle

答案 1 :(得分:1)

$('input').click(function(){
$(this).parent().find('.name').text('');// this will `remove` the text from `innerHTML` if you only want to `hide` use `hide()`.
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="text orgsmall" type="text" name="designation" id ="designation" placeholder="Designation" value="">
 <span class="name" style="color:red">remove me</span>
</div>

答案 2 :(得分:0)

理想情况下,您应该使用.hide()

工作代码段:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="6u pdt">
  <input class="text orgsmall" type="text" name="designation" id ="designation" placeholder="Designation" value="" onfocus="$(this).parent().find('.name').hide();">
  <span class="name" style="color:red">Span</span>
</div>

了解详情:.hide() | jQuery

答案 3 :(得分:0)

试试这个

$(this).closest('.name').addClass('hide')

答案 4 :(得分:0)

这应该做的工作

$('#designation').click(function () {
   $(this).next().text(''); 
});