Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   document.getElementById("...").value Выдает Бред (https://javascript.ru/forum/misc/9449-document-getelementbyid-value-vydaet-bred.html)

vvova 17.05.2010 17:14

document.getElementById("...").value Выдает Бред
 
Здравствуйте!

Такая ситуация.
Мне нужно доработать некий сайт. Он написан на Joomla.

Я нашел, где мне вписаться в шаблон и дописывать свои PHP.

Мне надо получить из INPUT TYPE="TEXT" VALUE.

Я пишу на Java document.getElementById("...").value, а мне выводится бред. Даже если я пишу английские буквы.

Если делать через PHP POST - то порядок, но мне надо сделать Поиск по базе с использованием AJAX.

Что может быть с ним не то?
может где-то в настройках webserver или в joomla.
На других хостах все в порядке.

Skipp 17.05.2010 17:16

Java != JavaScript :)

Проверь кодировки, должна быть utf-8

Gvozd 17.05.2010 17:41

[telepate mode=on]
возможно ты вызываешь метод до того как в DOM \-дереве опредлен соответсвующий элемент
попробуй window.onload , или аналогичный способ
[/telepate]
выложи ссылку на свою страницу, либо выложи тут код
в любом случае, отсей все ненужное оставив только то что относится к делу

Gozar 17.05.2010 22:04

Цитата:

Сообщение от vvova (Сообщение 55485)
Я пишу на Java document.getElementById("...").value, а мне выводится бред. Даже если я пишу английские буквы.

Понятие бреда у всех разное. Пишите точно что выдаёт. Желательно приложить кусок html+js с кодом.

vvova 18.05.2010 17:12

При более детальном рассмотрении англ. буквы в порядке.
Значит кодировка.
Как мне кодировку выставить в javascript
http://opt-product.info/index.php?option=com_content&view=article&id=2&Ite mid=4&grp=35

Javascript

function createObject() {
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}

var http = createObject();

function autosuggestReply() {
if(http.readyState == 4){
var response = http.responseText;
e = document.getElementById('results');
if(response!=""){
e.innerHTML=response;
e.style.display="block";
} else {
e.style.display="none";
}
}
}

function autosuggest()
{
q = document.getElementById("src_id").value;
// Set te random number to add to URL request
nocache = Math.random();
http.open('get', 'search.php?q='+q+'&nocache='+nocache);
http.onreadystatechange = autosuggestReply;
http.send(null);
}

search.php

<?php

if (isset($_GET["q"])) $searchq=strip_tags($_GET['q']); else $searchq='';
echo $searchq;
?>

форма

<form action="..." method="post">
<input type="text" name="src" id="src_id" style="width:396px" value="<?php print $vvv_src; ?>" onkeyup="javascript:autosuggest()" AUTOCOMPLETE="OFF"/>
<input type="submit" value="Найти" />
<div id="search-wrap">
<div id="results"></div>
</div>
</form>

Skipp 18.05.2010 17:36

используй setRequestHeader(label, value);

А так же перекодируй твои страницы в utf-8;

Вот тебе еще в помощь

vvova 18.05.2010 17:37

Решилось

В PHP добавил перевод из cp1251 в utf-8

Типа так: Из Input Type данные приходят в cp1251 хотя сайт на utf-8.
А выводятся бредом.

Skipp 18.05.2010 17:39

Да забыл тебе и про это написать:)
(я о header() в php)


Часовой пояс GMT +3, время: 08:06.