Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: взаимное изменение чисел
 
 автор: P@Sol   (23.12.2005 в 15:34)   письмо автору
 
 

есть:
1
2
3
4
...

как сделать, чтобы при изменении, допустим, 1 на 4, 4 изменилось на 1?

   
 
 автор: 12345   (23.12.2005 в 16:09)   письмо автору
 
   для: P@Sol   (23.12.2005 в 15:34)
 

А вот ещё задача: как сделать, чтобы при верчении колпачков
1,
2 и
3

шарик попеременно переходил с места 1 под колпачком 1 на место 2 под колпачком 3, например?

   
 
 автор: AlexSol   (23.12.2005 в 16:28)   письмо автору
 
   для: P@Sol   (23.12.2005 в 15:34)
 

...массивы, условия, переменные....

...сохраняешь все значеия в массиве, при выполнение указанного условия меняешь элементы массива...

   
 
 автор: P@Sol   (23.12.2005 в 16:37)   письмо автору
 
   для: AlexSol   (23.12.2005 в 16:28)
 

сначала:
есть три input'a в каждом из них по одному числу 1,2 и 3 соответственно. И надо мне поменять 3 на 4...это делается легко: стираю цифру 3 и пишу 4, а вот если мне надо поменять 3 на 2, то получиться две 2, что не допустимо, поэтому при замене 3 на 2, 2 должна поменяться на 3! (не обновляя страницу, конечно)

   
 
 автор: 12345   (23.12.2005 в 17:59)   письмо автору
 
   для: P@Sol   (23.12.2005 в 16:37)
 

Тут без применения MySql никак. А на что нужна такая фишка, интересно? Никак, лохов разводить?
<script>
function ff(t){
for(i=1;i<=fo.elements.length;i++){
    if(i==t.name.substring(1))continue;
    else if(eval('fo.i'+i).value==t.value){
        eval('fo.i'+i).value=t.defaultValue;
        t.defaultValue=eval('fo.i'+i).defaultValue;
        eval('fo.i'+i).defaultValue=eval('fo.i'+i).value;
    }
}t.defaultValue=t.value;
}
</script>
<form name=fo>
<input name=i1 value=1 onchange=ff(this)><br>
<input name=i2 value=2 onchange=ff(this)><br>
<input name=i3 value=3 onchange=ff(this)><br>
</form>

   
 
 автор: P@Sol   (26.12.2005 в 11:09)   письмо автору
 
   для: 12345   (23.12.2005 в 17:59)
 

>Тут без применения MySql никак. А на что нужна такая фишка,
>интересно? Никак, лохов разводить?

для примера составили план действий:
№ | что надо сделать?
1. купить подарки
2. поздравить родителей
3. поздравить друзей

а потом резко решили поздравить друзей сразу после покупки подарков, вместо 3 пишем 2...и тогда получается

1. купить подарки
2. поздравить друзей
2. поздравить родителей

два пункта №2? не так дело не пойдет! и поэтому надо вместо 2 около поздравить родителей сделать 3:

1. купить подарки
2. поздравить друзей
3. поздравить родителей

вот такие пироги...

   
 
 автор: P@Sol   (26.12.2005 в 11:29)   письмо автору
 
   для: 12345   (23.12.2005 в 17:59)
 

спасибо, работает, но почему то ie пишет ошибку, но все равно отрабатывает скрипт...

Добавлено:
вот нашел ошибку....при малых числах до 20 все работает, а при больших 40-50 уже не работает:(

   
 
 автор: 12345   (26.12.2005 в 12:49)   письмо автору
 
   для: P@Sol   (26.12.2005 в 11:29)
 

каких именно числах: Числе инпутов? А так значениями ставлю числа 223, 334, строки - всё работает. Вообще, корректнее для старых версий (IE4-5 ?) в eval заключить весь оператор (возможно), но ошибок и так не вижу. Ещё ошибка появится, если в форму вставишь ещё какой-то элемент, кроме инпута и не изменишь for(i=1;i<=fo.elements.length;i++) .

   
 
 автор: P@Sol   (26.12.2005 в 12:57)   письмо автору
 
   для: 12345   (26.12.2005 в 12:49)
 

>Ещё ошибка появится,
>если в форму вставишь ещё какой-то элемент, кроме инпута и
>не изменишь for(i=1;i&lt;=fo.elements.length;i++) .


1. купить подарки


у меня 2 input для цыфр и для фразы...как надо исправить?

где есть online СПРАВОЧНИК? (http://www.spravkaweb.ru/javascript.php - тут не все)

   
 
 автор: 12345   (26.12.2005 в 13:34)   письмо автору
 
   для: P@Sol   (26.12.2005 в 12:57)
 

http://mp3sony.sk.uz/JS_manual.rar - где-то валяется и онлайн. Для читабельности лучше поправить стили из этого архивчика: http://javascript.aho.ru/files/JS_manual-styles.rar Сделан, по всей видимости, на базе книги JavaScript Programmer's Reference - (ан.) Cliff Wootton, 2001, 2600 стр., 17 МБа. ftp://ftp.uar.net/pub/e-books/javascript%20programmer's%20reference.pdf?L=17372291. Онлайн постарее от того же составителя (угадывается по стилю) - http://xlibscripts.land.ru/jscript_doc/descrip1.html

Смотри в код: всем инпутам с цифрами присваиваешь name=i<число, начинающееся с 1>. Вместо fo.elements.length в цикле "for" ставишь максимум этого числа.

   
 
 автор: P@Sol   (26.12.2005 в 13:43)   письмо автору
 
   для: 12345   (26.12.2005 в 13:34)
 

дело в том, что я не знаю максимум:)

<script>
function ff(t){
for(i=1;i<=pb.elements.length;i++){
    if(i==t.name.substring(1))continue;
    else if(eval('pb.i'+i).value==t.value){
        eval('pb.i'+i).value=t.defaultValue;
        t.defaultValue=eval('pb.i'+i).defaultValue;
        eval('pb.i'+i).defaultValue=eval('pb.i'+i).value;
    }
}t.defaultValue=t.value;
}
</script>

<form name=pb action='send.php' method='post' enctype='multipart/form-data'>
<?
 
for ($k=0;$k<count($phone);$k++)
 {
         echo 
"<tr>
                <td class='row1' align=center><input name=i"
.$k." value='".$name[$k][0]."' onchange=ff(this) size=4></td>
                <td class='row1' align=center><input type='text' name='name"
.$k."' size=25 value='".$name[$k][1]."'></td>
               <td class='row1' align=center>"
.$voice."<input type='hidden' name='voice".$k."' value='".$name[$k][4]."'></td>
</tr>"
;?>

   
 
 автор: 12345   (26.12.2005 в 13:51)   письмо автору
 
   для: P@Sol   (26.12.2005 в 13:43)
 

А это что? count($phone); :)
<script> 
function ff(t){ 
for(i=0;i<<?=count($phone)?>;i++){ //если от нуля, то от нуля
    if(i==t.name.substring(1))continue; 
    else if(eval('pb.i'+i).value==t.value){ 
        eval('pb.i'+i).value=t.defaultValue; 
        t.defaultValue=eval('pb.i'+i).defaultValue; 
        eval('pb.i'+i).defaultValue=eval('pb.i'+i).value; 
    } 
}t.defaultValue=t.value; 

</script> 

<form name=pb action='send.php' method='post' enctype='multipart/form-data'> 
<? 
for ($k=0;$k<count($phone);$k++) 

         echo 
"<tr> 
                <td class='row1' align=center><input name=i"
.$k." value='".$name[$k][0]."' onchange=ff(this) size=4></td> 
                <td class='row1' align=center><input type='text' name='name"
.$k."' size=25 value='".$name[$k][1]."'></td> 
               <td class='row1' align=center>"
.$voice."<input type='hidden' name='voice".$k."' value='".$name[$k][4]."'></td> 
</tr>"
;?> 

   
 
 автор: P@Sol   (26.12.2005 в 13:53)   письмо автору
 
   для: 12345   (26.12.2005 в 13:51)
 

все :) большое спасибо

   
 
 автор: P@Sol   (26.12.2005 в 13:50)   письмо автору
 
   для: 12345   (26.12.2005 в 13:34)
 

во :) нашел ошибку №1...у меня было name=i0, теперь вроде все числа заменяются....но внизу браузера ie все равно светится "Ошибка на странице"...

   
 
 автор: P@Sol   (27.12.2005 в 10:56)   письмо автору
 
   для: 12345   (26.12.2005 в 13:34)
 

http://mp3sony.sk.uz/JS_manual.rar - не рабочая ссылка:(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования