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

HTML+CSS+JavaScript

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

 

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

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

тема: не могу найти ошибку в коде((
 
 автор: garik1990   (19.09.2010 в 17:43)   письмо автору
 
 

<HTML>

<HEAD>
<TITLE>JavaScript</TITLE>
<link rel="stylesheet" href="Styles.css">
<!--Скрипт на JavaScript-->
<script type="text/JavaScript">
<!--
function def(obj)
{
var n=number(obj.num.value);
var s="";
switch (n)
{
case "Белгород":s=+17;break;
case "Москва":s=+10;break;
case "Самара":s=+22;break;
case "Харьков":s=+20;break;
case "Киев":s=+25;break;
default:s="Таких данных нет";
}
obj.res.values=s;
}
//-->
</script>
</HEAD>

<BODY>
<h1>Погода в городе</h1>
<table>
<form name="form1">
<!--Поля для ввода коэффициентов уравнения-->
<tr>
<td>Введите название города</td>
<td> <input type="text" name="num" ></td>
</tr>

<tr>
<td class="noborder"><!--При нажатии на кнопку вызывается функция pogoda()-->
<input type="button" name="gorod" value="Вывести" onClick="def(form1)">
</td>
<td class="noborder"><input type="reset" value="Очистить"></td>
</tr>
<tr>
<td>Погода в городе </td>
<td> <input type="text" name="res"></td>
</tr>
</form>
</table>
</BODY>

</HTML>

  Ответить  
 
 автор: sl1p   (19.09.2010 в 17:46)   письмо автору
 
   для: garik1990   (19.09.2010 в 17:43)
 

что именно не работает? С чего вы взяли что в коде ошибка?

  Ответить  
 
 автор: garik1990   (19.09.2010 в 17:48)   письмо автору
 
   для: sl1p   (19.09.2010 в 17:46)
 

ввожу в окошко название города жму кнопку но ничего не происходит

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:10)   письмо автору
 
   для: garik1990   (19.09.2010 в 17:48)
 

И не будет:
function def(obj) {
  switch (obj.num.value) {
    case "Белгород":s="+17";break;
    case "Москва":s="+10";break;
    case "Самара":s="+22";break;
    case "Харьков":s="+20";break;
    case "Киев":s="+25";break;
    default:s="Таких данных нет";
  }
obj.res.value=s;
}
А в кнопке ссылайтесь проще:
<input type="button" name="gorod" value="Вывести" onClick="def(this.form)">

Пользователь не обязательно будет вводить город с заглавной буквы, так что....

  Ответить  
 
 автор: АЯ   (19.09.2010 в 18:11)   письмо автору
 
   для: garik1990   (19.09.2010 в 17:43)
 

--

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:15)   письмо автору
 
   для: АЯ   (19.09.2010 в 18:11)
 

спасибо

  Ответить  
 
 автор: .....   (19.09.2010 в 18:16)
 
   для: garik1990   (19.09.2010 в 17:43)
 

> onClick="def(form1)"

form1 нигде не объявлена

>var n=number(obj.num.value);
var s="";
switch (n)
{
case "Белгород":s=+17;break;
case "Москва":s=+10;break;
case "Самара":s=+22;break;
case "Харьков":s=+20;break;
case "Киев":s=+25;break;
default:s="Таких данных нет";
}
obj.res.values=s;


вводится слово или число?
включайте в браузере консоль ошибок javascript

  Ответить  
 
 автор: .....   (19.09.2010 в 18:18)
 
   для: .....   (19.09.2010 в 18:16)
 

нет редактирования :)
оставил-бы только "включайте в браузере консоль ошибок javascript"

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:23)   письмо автору
 
   для: .....   (19.09.2010 в 18:18)
 

исправил onClickи все заработало. спасиб

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:26)   письмо автору
 
   для: garik1990   (19.09.2010 в 18:23)
 

Даже так?! Это каким образом заработает, если у вас такая фича написана:
obj.res.values=s; ?
Объявление number(....) а это что? Если у вас это некая пользовательская функция, то негоже их такими словами обзывать, и если я ошибся и вам нужны номера полей, то откуда им взяться из слов "Москва".... ?

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:30)   письмо автору
 
   для: sim5   (19.09.2010 в 18:26)
 

var n=number(obj.num.value); я эту строчку тоже удалил)

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:35)   письмо автору
 
   для: garik1990   (19.09.2010 в 18:30)
 

Стоит пользователю набрать "москва", а не "Москва" и абзац вашему скрипту...
switch (obj.num.value.toLowerCase()) {
    case "белгород":s="+17";break;
    case "москва":s="+10";break;
    case "самара":s="+22";break;
    case "харьков":s="+20";break;
    case "киев":s="+25";break;
    default:s="Таких данных нет";
  }

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:37)   письмо автору
 
   для: sim5   (19.09.2010 в 18:35)
 

я не знаю как это исправить((

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:44)   письмо автору
 
   для: garik1990   (19.09.2010 в 18:37)
 

Вместо написанного ранее и исправленного, вставьте эту часть, разве понять сложно что заменить - от switch по его закрывающую скобку }.

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:48)   письмо автору
 
   для: sim5   (19.09.2010 в 18:44)
 

спасибо огромное. я учусь пока JS b php.. ошибок куча вот и приходится советоваться

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:50)   письмо автору
 
   для: garik1990   (19.09.2010 в 18:48)
 

По каким это учебникам вы учитиесь, если такую отсебятину порете? )

  Ответить  
 
 автор: garik1990   (19.09.2010 в 18:54)   письмо автору
 
   для: sim5   (19.09.2010 в 18:50)
 

http://www.internet-technologies.ru/books/book_128.html

  Ответить  
 
 автор: sim5   (19.09.2010 в 18:59)   письмо автору
 
   для: garik1990   (19.09.2010 в 18:54)
 

Не знаю таковой, но уж точно в ней написано, что строковые значения нужно обрамлять в кавычки, что в JS есть объкт Number, и лучше не использовать слова зарезервированные языком, а если использовать и можно, то так, чтобы потом самому не запутаться в коде своем, да и в некоторых случаях свести с ума сам язык.
И если не работает, то нужно изучать ошибки и причину их возникновения.

  Ответить  
 
 автор: garik1990   (19.09.2010 в 19:01)   письмо автору
 
   для: sim5   (19.09.2010 в 18:59)
 

,буду пытаться в будушем сам искать ошибки...

  Ответить  
 
 автор: sim5   (19.09.2010 в 19:04)   письмо автору
 
   для: garik1990   (19.09.2010 в 19:01)
 

Да вот вам причина первой вашей ошибки:
<script>
alert(YES)
</script>

Попробуйте, будет это выполняться или нет?

  Ответить  
 
 автор: garik1990   (19.09.2010 в 19:09)   письмо автору
 
   для: sim5   (19.09.2010 в 19:04)
 

не работает( а должно?

  Ответить  
 
 автор: sim5   (19.09.2010 в 19:22)   письмо автору
 
   для: garik1990   (19.09.2010 в 19:09)
 

Нет конечно, и пора уже из вышесказанного знать почему - потому, что строковое значение YES не взято в кавычки. А вот так будет:
<script> 
alert("YES") 
</script>

Учите.

  Ответить  
 
 автор: garik1990   (19.09.2010 в 19:24)   письмо автору
 
   для: sim5   (19.09.2010 в 19:22)
 

во я нуб(((((

  Ответить  
Rambler's Top100
вверх

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