2013-05-08 2 views
0

Вот код используетсясамозагрузки ДИВ фоновое изображение

<!DOCTYPE html> 
<html> 
<head> 
<title>Registration</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<link href="twitter-bootstrap/docs/assets/css/bootstrap.css" rel="stylesheet"/> 
<link href="twitter-bootstrap/docs/assets/css/docs.css" rel="stylesheet"> 
<link href="twitter-bootstrap/docs/assets/js/google-code-prettify/prettify.css" rel="stylesheet"> 
<style type="text/css"> 
    .container 
    { 
     width: 750px; 
     height : 300px; 
     margin-top : 50px; 
    } 
</style> 
</head> 
<body> 
<div class = "container"> 
<div class = "well" style = "box-shadow : 0 1px 10px rgba(0,0,0,1.0);">  
    <form id = "reg" class = "form-horizontal" method = "post" action = "reg.php"> 
     <legend>Registration form</legend>  
     <div class = "control-group"> 
      <label class = "control-label">Login name</label> 
      <div class = "controls"> 
       <div class = "input-prepend"> 
        <span class = "add-on"><i class = "icon-user"></i></span> 
         <input type = "text" class = "input-xlarge" id = "login_name" name = "login_name" placeholder = "Login name"><div id = "name_inspector"></div> 
       </div> 
      </div> 
     </div> 

Вот функция, которая реагирует когда-то вход TextField изменяется

$(document).ready(function(){ 
    //$('#name_inspector').css('background-image', 'url(img/name-is-free.png)'); 
    $("#login_name").change(
    function() 
    { 
     $('#name_inspector').css('background-image', 'img/ajax-loader-arrows.gif'); 
     $.get(
     "is_usr_name_free.php?login_name="+$('#login_name').val(), {}, 
     // At success. 
     function(data) 
     { 
      var style_arr = data.split('@'); 
      alert(style_arr[0]+style_arr[1]); 
      $('#name_inspector').css(style_arr[0], style_arr[1]); 
     }, "html"); 
    }); 

В стиле Firebug установлен правильно и изображение загружен. Однако изображения не видно.

+0

Возможно, имя и идентификатор одинаковы? есть ли вероятность конфликта? – DiederikEEn

+0

Нет, name_inspector - это единственный идентификатор с таким именем на странице. – John

ответ

1

Проблема заключается в том, что не-стиль div имеет ширину 100% и высоту. Аналогично, диапазон не имеет ширины, но высота 100% или текст, который в нем. В любом случае, если в поле ничего нет, тогда фон не будет отображаться. Вы можете это доказать, добавив текст в div или span. Это разница между встроенными и блочными элементами.

Итак, вам нужно указать высоту для вашего div или высоту для пролета. Это должно создать достаточное пространство для отображения изображения.

+0

Я обновил код. Да, я просто сделал. Вывод: и без изображения. – John

+0

Этот div не имеет стилей. Я использую его как блок для динамического определения того, можно ли зарегистрировать имя, изменяя фотографии. – John

Смежные вопросы