[ASP-JS] if geeft false ipv true

Pagina: 1
Acties:

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Ik heb een stukje code...
JavaScript:
1
2
3
4
5
 new1 = new String(Request.Form('new1'))
 new2 = new String(Request.Form('new2'))
  if (new1 == new2) {
 // code
 }


geeft altijd een false, ook als in het form precies dezelfde waarden ingevuld zijn.
Opvallend:
JavaScript:
1
  if ((new1 + new1) == (new2 + new2)) {


werkt wel correct... wat doe ik fout?

[ Voor 5% gewijzigd door Skaah op 18-03-2003 15:04 ]


Verwijderd

gebruik een .equals om te vergelijken... ik weet niets van asp in combo met javascript maar met java is dit wel de oplossing voor je probleem

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 05:46
echo de waarden dan eens :?

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Ben niet zo heel erg thuis in ASP+JScript maar het lijkt erop dat je 2 objecten aan het vergelijken bent (die inderdaad ongelijk zijn). Bij optellen van de variabelen worden deze automatisch gecast naar de stringwaarden en daar werkt het dus wel.

Dus theoretisch gezien (heb het niet getest) zal het volgende dus ook moeten werken:

JavaScript:
1
2
3
4
5
6
7
new1 = Request.Form('new1') + '';
new2 = Request.Form('new2') + '';

if (v1 == v2)
{
  // code
}

Of

JavaScript:
1
2
3
4
5
6
7
new1 = new String(Request.Form('new1'));
new2 = new String(Request.Form('new2'));

if (v1.toString() == v2.toString())
{
  // code
}

Today's subliminal thought is:


  • Skaah
  • Registratie: Juni 2001
  • Niet online
Annie schreef op 17 March 2003 @ 23:44:
Ben niet zo heel erg thuis in ASP+JScript maar het lijkt erop dat je 2 objecten aan het vergelijken bent (die inderdaad ongelijk zijn). Bij optellen van de variabelen worden deze automatisch gecast naar de stringwaarden en daar werkt het dus wel.

Dus theoretisch gezien (heb het niet getest) zal het volgende dus ook moeten werken:

JavaScript:
1
2
3
4
5
6
7
new1 = Request.Form('new1') + '';
new2 = Request.Form('new2') + '';

if (v1 == v2)
{
  // code
}

Of

JavaScript:
1
2
3
4
5
6
7
new1 = new String(Request.Form('new1'));
new2 = new String(Request.Form('new2'));

if (v1.toString() == v2.toString())
{
  // code
}
JavaScript:
1
new String(obj)

Zou dat toch al moeten doen? Zonder dat kan ik geen .substring(), .indexOf() enz doen.

Ik ga ff met toString() proberen.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Skaah schreef op 18 March 2003 @ 15:05:
[...]


JavaScript:
1
new String(obj)

Zou dat toch al moeten doen? Zonder dat kan ik geen .substring(), .indexOf() enz doen.

Ik ga ff met toString() proberen.
Uhm, nee, je hebt dan nog steeds een object en dat is iets anders dan een string literal. Met toString() krijg je de inhoud uit het object.

Probeer maar eens:
JavaScript:
1
2
var new1 = new String(bla);
Response.Write (typeof (new1));

Today's subliminal thought is:

Pagina: 1