2015-02-08 2 views
0

В основном название.Пробелы, разрушающие img src в jQuery

У меня есть MySQL запрос:

while ($array = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    $jsonData[] = $array; 
} 
echo json_encode($jsonData);  

переменная ссылается на значение, которое имеет пробелы в нем названы «Осколок Аргуса»:

var pname = value.Pet_Name;  

, который используется для вставки значения в одновременно открытым текстом <div> и изображение style='background-image: url():

$("img#"+char).click(function(){ 
    $("#charlist").html(title 
      +"<table style='background:#888' width='600px'>" 
      +"<tr>" 
       +"<td rowspan='4' height='150px' width='150px' style='background-image: " 
         +"url(/images/char/"+char+".png)'></td>" 
       +"<td>Name: "+fname+" "+lname+"</td>" 
       +"<td>Class: "+spec+" "+role+"</td>" 
      +"</tr>" 
      +"<tr>" 
       +"<td>Race: "+race+"</td>" 
       +"<td>Rank: "+rank+"</td>" 
      +"</tr>" 
      +"<tr>" 
       +"<td>Height: "+height+"</td>" 
       +"<td>Weight: "+weight+"</td>" 
      +"</tr>" 
      +"<tr>" 
       +"<td>Age: "+age+"</td>" 
       +"<td>Birthplace: "+birth+"</td>" 
      +"</tr>" 
      +"</table>" 
      +"<table width='600px'>" 
      +"<tr>" 
       +"<td>Bio:<br />"+bio+"</td>" 
      +"</tr>" 
      +"</table>" 
      +"Pets" 
      +"<table class='"+pname+"' width='300px'>" 
      +"<tr>" 
       +"<td rowspan='2' height='150px' width='150px' style='background-image: " 
         +"url(/images/pets/"+pname+".png)'></td>" 
       +"<td>Name: "+pname+"</td>" 
      +"</tr>" 
      +"<tr>" 
       +"<td>Species: "+prace+"</td>" 
      +"</tr>" 
      +"</table>" 
      +"<table width='300px'>" 
      +"<tr>" 
       +"<td rowspan='2' height='150px' width='150px' style='background-image: " 
         +"url(/images/battlepets/"+cname+".png)'></td>" 
       +"<td>Name: "+cname+"</td>" 
      +"</tr>" 
      +"<tr>" 
       +"<td>Species: "+crace+"</td>" 
      +"</tr>" 
      +"</table>"); 

    $("table.none").hide(); 
});  

Все отображается отлично, за исключением изображения. Я добавил обратную косую черту как в имя файла, так и в значение, и ТОГДА он отображается хорошо. Я пробовал все, что мог придумать, чтобы заменить пробелы в вызове MySQL (просто добавляет обратную косую черту повсюду), попытался заменить символ в моем jQuery (либо полностью разрывает его, либо просто не работает), добавив еще одну переменную для просто этот один экземпляр и попробуйте encodeURIComponent или замените это безрезультатно, и я нахожусь в конце своего ума.

Я надеялся, что вам не нужно добавлять еще один столбец значений без пробелов. Просто для URL-адреса источника background-image, но если это так, я просто сделаю это и скажу, что он вкрутил его.

Любые советы о том, что я делаю неправильно? Если вам нужна какая-либо другая соответствующая информация, узнайте лемму. Веб-сайт: http://wow.zenakrua.com/, и вы нажимаете Windwalkers, затем нажмите сердитый фиолетовый цыпленок, посредине второго ряда.

+0

У вас на самом деле нет изображения с именем файла 'Remnant of Argus.png', вы хотите удалить эти пробелы или просто заменить их чем-то другим или чем-то. Просто показывая нам, что у вас есть, и что вы хотите, было бы намного проще, чем публикация всей таблицы в одной строке. – adeneo

+0

В любом случае, вы должны придерживаться строчных букв и пробелов в именах файлов, поэтому 'char.replace (/ \ s/g, '') .toLowerCase()' – adeneo

+0

Согласно другому комментарию (я добавил обратную косую черту в имя файла и значение как тест, в то время это были не пробелы): Это было не так, но я думаю, что обратная косая черта вызывала проблему с загрузкой. Изменено на тире, wow.zenakrua.com/images/battlepets/Remnant-of-Argus.png. Отключил защиту Hotlink. Несмотря на это, поведение было таким же, прежде чем я положил обратную косую черту. Я пробовал + и - на месте, все еще не могу заставить его заменить их в jquery. Дополнительная информация Вам нужна дополнительная информация? Я могу вставить все это, есть два связанных файла, запрос php mysql и фактическая страница с ajax и jquery. –

ответ

0

Это изображение не существует. Если это так, вы могли бы получить к нему доступ с помощью этого URL в браузере:

wow.zenakrua.com/images/battlepets/Remnant%20of%20Argus.png

Название изображения либо неправильно, или вам нужно изменить права на него.

+0

Это не было ошибкой , но я думаю, что обратная косая черта вызывала проблему с загрузкой. Изменено на тире, http://wow.zenakrua.com/images/battlepets/Remnant-of-Argus.png. Отключил защиту Hotlink. Независимо от того, что поведение было таким же, прежде чем я положил обратную косую черту. Я пробовал + и - на месте, все еще не могу заставить его заменить их в jquery. –

+0

Можете ли вы добавить изображение с именем Remnant of Argus.png (т. Е. С пробелами вместо тире и без обратной косой черты), поэтому я могу попытаться отладить проблему? Или вам просто нужен способ изменить тире в пространстве сейчас, чтобы имя отображалось правильно в тексте? – Nadine

+0

Это точно. Просто нужно имя в поле имени, чтобы тире заменялись пробелами. Я попробовал это в запросе mysql, но я мог только получить его, чтобы заменить все, а не только одно. Это почти так, как будто я не могу изменить json после этого факта. –

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