Въпрос за ASP и variables type

4 отговора 31 прегледа
#1

Въпрос за ASP и variables type

Привет,

Наскоро се заех да понауча ASP и веднага започнаха проблемите.Направих си хтмл файл с проста форма която submit-ва към .asp файл, и двете са по-долу.Но не мога да разбера като какъв тип се третират променливите.В .асп файла има 2 прости функции, първата връща дължината на input-a, a втората добавя 10 към него.
Ако например напиша 11 във формата и събмитна, за lenght не дава нищо(т.е според мен 11 не се счита за стринг).От друга страна втората функция връща 1110 за 11+10, т.е събира 11 и 10 като стрингове а не като числа(макар че добавям 10 а не "10")
Ako в първата фунция към input-a добавя ''(т.е нищо), ми връща правилен length(return len трябва да се смени на return len1).Същото е и за втората функция, ако умножа input-a по 1, за 11+10 връща 21 както трябва да е.
Ако във някоя фунция напиша return typeof(txtt) ми връща 'object' ???
Всичко което съм чел за javascript/jscript(има ли някаква разлика между тях) казва че те сами си разбирали типа на променливите, и наистина ако тия скриптове се изпълнят client-side няма никакви проблеми.
Ако имате време пробвайте тия файлове и дайте акъл, най вече мога ли да укажа(и как?) че дадена променлива е от някакъв тип(стринг, инт. и т.н)
10х

---- html file ---
<html><head><title>form</title></head>
<body bgcolor="#FFFFFF">
<form name="f1" method="post" action="frm.asp">
<input type="text" name="t1">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Reset" value="Reset">
</form></body></html>
----- frm.asp file-----------
<%@ LANGUAGE=JScript %>
<%
inp=Request.form("t1");
outp=ct(inp);
outp1 = ct1(inp)

function ct(txtt){
txtt1=txtt+''
len = txtt.length
len1 = txtt1.length
return len

}

function ct1(txtt){
txtt2=txtt + 10
txtt3=txtt*1 + 10
return txtt2

}
%>

<HTML><HEAD>

<SCRIPT LANGUAGE="JScript">

document.write('Input is: '+'<%=inp%>'+'<br'+'>')
document.write('Length = '+'<%=outp%>'+'<br'+'>')
document.write('Input + 10 = '+'<%=outp1%>')

</SCRIPT>
</HEAD><BODY></BODY></HTML>
-------------


Отговор
в отговор на Миро_anon_anon #2

Отг: Въпрос за ASP и variables type

znachi az bih go naprawil taka:
BTW: edin sywet izpolzwaj po normalni imena za funkcii i promenliwi :-) ako imash 20-30 ot tiq stawa golqma kasha :-)

var inputString=Request.form("t1")+""; // + "" za da byde awtomatichno konwertirano do string

var inputLength, inputResult
inputLength = calclLength (inputString);
inputResult = calcResult (inputLenth);

function calcLength (thisString){
return thisString.length
}


function calcResult (thisValue) {
return thisValue + 10
}

ako ima neshto neqsnto - pitaj.
Nadqwam se da sym bil polezen.

Отговор
в отговор на t.s. #3

Отг: Въпрос за ASP и variables type

10x, taka i ste napravja!
I za saveta si napulno prav :)
Vse pak ima li nacin da ukaza che promenlivata var1 e ot edikakuvsi tip, napr. string?

Отговор
в отговор на Miro_anon #4

Отг: Въпрос за ASP и variables type

Abe... ne sym spec po wyprosa i ne sym siguren che nqmwa da te ilzyja - ama maj ne moje da se zadawat tipowete ne promenliwite. Wasichkite sa si ot vartype. t.e. kakwoto slojish w tqh - takowa e. Ako syberesh string s chislo shte poluchish - shtring t.e. za da si siguren che winagi poluchawash string - slagaj po edno + "". Taka dori da nqmash predadena stojnost ot formata shte poluchish stringa "undefined" i nqma da ti se dyni asp-to.

Отговор
в отговор на Миро_anon_anon #5

Отг: Въпрос за ASP и variables type

ASP powecheto promenliwi koito ne si definiral imat tip Variant.
za celta imash : CInt(Variant V), i CString(Varian V)
W JS Imash parseInt("1234")
i "1234".toString()
Ajde uspeh....

JAVA lets make things badly!!
Отговор