download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

помогнете с ено скриптче

Автор
Съобщение
angelicstar
Вто, 20.03.07, 16:24
ми начи права ено срипче и немога да разбера кво бъркам. щото ми тря да проверявам за не зададена стойност самоче винаги ми дава че небило зададено.
ейго как е:
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
 
 
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
var arr = new Array ( 3 );
var coe = new Array ( "A", "B", "C" );
var d, t, i, s, tex;
 
function func() {
tex = document.f1.out;
s = "";
t = 0;
 
for (i = 0; i < 3; i++) {
arr[ i ] = parseFloat( document.f1.elements[ i ].value );
}
 
for (i = 0; i < 3; i++) {
if (arr[ i ].value == null) { 
s = s + "Не е въведено за " + coe[ i ] + ".n";
}
 
}
 
 
t = (arr[ 0 ] + arr[ 1 ] + arr[ 2 ]);
s = s + t;
 
tex.value = s;
return true;
}
// -->
</SCRIPT>
</HEAD>
 
<BODY>
<FORM NAME="f1">
<P><INPUT TYPE="text">
<INPUT TYPE="text">
<INPUT TYPE="text">
<INPUT TYPE="button" NAME="smetki" VALUE="Smetki" onClick="func()"></P>
<TEXTAREA NAME="out" COLS="50" ROWS="10"></TEXTAREA>
</FORM>
 
</BODY>
</HTML>

и ей кво излиза. къде съм се омазала?

anonymous
Вто, 20.03.07, 16:27

помогнете с едно скриптче

Брей, брей, то направо този скрепт е много странен, - за какво ти е.
Защо направо не използваш една удобна програма, която да ти го създаде автоматично, вместо ти да си играеш да пишеш.
редактиран от anonymous на 20.03.07 16:28
angelicstar
Вто, 20.03.07, 16:33

RE: помогнете с едно скриптче

” Брей, брей, то направо този скрепт е много странен, - за какво ти е.
Защо направо не използваш една удобна програма, която да ти го създаде автоматично, вместо ти да си играеш да пишеш. „
ми щото искам дасе науча дапиша. и тва е найзарибяватата игра!!!
insecteater
Вто, 20.03.07, 17:47
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<HTML>
<HEAD>
<TITLE>Проба</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
function calculate() {
    var fields = new Array('A', 'B', 'C');
    var Sum = 0;
    var Err= '';
    for (i = 0; i < 3; i++) {
        Element = document.getElementById(fields[i]);
        Value  = Number(Element.value);
        if (isNaN(Value)) Err += "Не е въведено за"+Element.name +"\n"; 
            else Sum += Value; 
    }
    Status = document.getElementById('status');
    Status.value = Sum + "\n" + Err;
}
</SCRIPT>
</HEAD>
<BODY>
 
<FORM NAME="f1">
<P>
<LABEL FOR="A">A:</LABEL> <INPUT TYPE="text" id="A" name="A"><BR>
<LABEL FOR="B">B:</LABEL> <INPUT TYPE="text" id="B" name="B"><BR>
<LABEL FOR="C">C:</LABEL> <INPUT TYPE="text" id="C" name="C"><BR>
<INPUT TYPE="button" NAME="smetki" VALUE="Изчисли !" onClick="calculate();">
</P>
<TEXTAREA NAME="out" id="status" COLS="50" ROWS="10">

Ето и моята интерпретация.
Разгледай това и ще забележиш някои работи, на които трябва да обърнеш внимание.

редактиран от insecteater на 20.03.07 17:51
angelicstar
Вто, 20.03.07, 17:59
10х. то засега нищо не рз ама сигорно ще сеопрая като се напъна.
ми мене обач мие по-важно дазнам АЗ кво бъркам щото иначе другпът ше го сбъкам пак.
пак 10х!
insecteater
Вто, 20.03.07, 18:10
Ами като за начало гледай да манипулираш елементите чрез document.getElementById() функцията - разбира се трябва да прикачаш id-та на елементите

А проверката затова дали е въведено число виждаш как я правя с isNaN функцията

Също така не ти трябват два цикъла след като можеш да минеш само с един

Между другото съм допуснал грешка. Вместо Number трябваше да сложа parseFloat, но логиката е една и съща

Редакция:
грешката ти е че проверяваш за стойност null, а трябва да проверяваш дали това не е стойност NaN (Not a Number) което е различно от null

редактиран от insecteater на 20.03.07 18:13
angelicstar
Вто, 27.03.07, 15:23
ми накрая стана. не го напраих с getElementById() щото ме марзи да пиша толко дълги работи. иначе верно си траваше да проверявам за NaN. ми то и така неставаше отначало ама после изеднъж зе дастава. неразбрах кво и как бръкнах и то си стана!
така излезна накрая
function vaved() {
   var t = 0;
   var b = true;
 
   for (i = 0; i < 3; i++) {
      arr[ i ] = 0;
      t = document.f1.elements[ i ].value ; 
      if ( isNaN ( parseFloat ( t ) ) ) { tex.value += "Неправилно въвеждане за коефициента " + coe[ i ] + "n"; 
      b = false;
      }
      else { arr[ i ] = parseFloat ( t ); }
   }
   
   return b;
}

целия скрипт ако еважно го слагам наотделно. kvadur.htm

дядо_поп
Вто, 27.03.07, 16:58
Тъй, чадо, тъй! Той Дядо Поп не му разбира много на JavaScript ала чини му се да е грамотно написана програмката. Само за пред другите люде достополезно ще е да сложиш на страничката някое заглавие с обяснение какво е това и как се употребява. Че после да го дадеш всичко туй на вси люде да имат полза и те от твоя труд.
Благословил Бог!

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.