Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Sonderzeichen (plus) per URL übergeben

Frage Entwicklung VB for Applications

Mitglied: ReiniX

ReiniX (Level 1) - Jetzt verbinden

31.10.2007, aktualisiert 16:23 Uhr, 7928 Aufrufe, 4 Kommentare

Hallo.

Ich will eine Seite mit einem Parameter aufrufen in dem ein Pluszeichen enthalten ist:
tele.asp?nr=+49
da das so wohl nich ganz hin haut mach ich das so:
tele.asp?nr=%2B49

wenn ich mir diese variable nun anzeigen lasse klappt das auch soweit ganz gut:
01.
dim callnr 
02.
callnr=Request.QueryString("nr") 
03.
response.write callnr
gibt aus: +49

nun möchte ich das ganze aber mit einem vbscript weiterverarbeiten:
01.
Sub window_onLoad() 
02.
	callnumber=<%=callnr%> 
03.
	ThisForm.Number.Value=callnumber  
04.
end sub
In meinem textfeld steht jetzt allerdings nur: 49 ... das plus ist verloren gegangen.
Wie übergebe ich das richtig?

(Bitte kommt mir nicht mit der lösung einfach <%=callnr%> als value für das textfeld anzugeben ... der code hier ist nur vereinfacht ... ich mache noch einiges mehr mit der nummer bevor sie ins textfeld kommt)

vielen dank,
reinix
Mitglied: bastla
31.10.2007 um 13:36 Uhr
Hallo ReiniX!

Das "+" wird wegen der impliziten Konvertierung in eine Zahl weggelassen, daher müsstest Du es gezielt wieder setzen, etwa
01.
If Left(callnumber, 1) <> "0" Then 
02.
	ThisForm.Number.Value="+" & CStr(callnumber) 
03.
Else 
04.
	ThisForm.Number.Value=callnumber 
05.
End If
Damit würden alle nicht mit 0 beginnenden Nummern ein vorangestelltes "+" erhalten. Einfacher (und genauer) wäre es, bereits vorweg den richtigen Datentyp ("String") zu verwenden, was allerdings von VBS nicht unterstützt wird - ob dies bereits (im "ASP-Teil") durch ein
01.
dim callnr as string
möglich ist (und von VBS auch noch so übernommen wird), müsstest Du testen.

Grüße
bastla
Bitte warten ..
Mitglied: ReiniX
31.10.2007 um 14:07 Uhr
oke danke erstmal.
01.
dim callnr as string
Das im ASP-Teil haut nicht hin. Da spucker er mir als fehler aus: Anweisungsende erwartet

01.
If Left(callnumber, 1) <> "0" Then 
02.
	ThisForm.Number.Value="+" & CStr(callnumber) 
03.
Else 
04.
	ThisForm.Number.Value=callnumber 
05.
End If
Das ist schon um einiges besser um nicht zu sagen fast perfekt!
Das blöde ist nur: es wird nicht immer ein + übergeben.
(an meine seite werden telefonnummern übergeben. das können telefonnummern ins ausland sein (+43....), telefonnummern mit vorwahl (07123...) oder hausinterne nummern (123) )
wenn ich die seite jetzt mit test.asp?nr=123 aufrufe erhalte ich blöderweise ein +123 anstatt nur 123.

hast du dafür vielleicht auch noch eine lösung parat?

mfg
reinix
Bitte warten ..
Mitglied: bastla
31.10.2007 um 14:20 Uhr
Hallo ReiniX!

Du könntest noch die Länge der Nummer zum Kriterium machen, also etwa ab 7 Zeichen das "+" voranstellen:
01.
If Left(callnumber, 1) <> "0" And Len(callnumber) >= 7 Then 
02.
	ThisForm.Number.Value="+" & CStr(callnumber) 
03.
Else 
04.
	ThisForm.Number.Value=callnumber 
05.
End If
Grüße
bastla
Bitte warten ..
Mitglied: ReiniX
31.10.2007 um 16:23 Uhr
bin mir nicht im klaren darüber wie schön oder unschön ich diese lösung finden soll...
aber grade beim löcher in die luft strarren, habe ich mich gefragt ob ich nicht einfach mal versuchen soll, asp den url-parameter in ein verstecktes textfeld schreiben zu lassen und ihn dann von dort mit vbscript auszulesen.
habs mal getestet und es funktioniert wie ich mir das vorstelle

dankeschööön trotzdem!
Bitte warten ..
Ähnliche Inhalte
JavaScript
Per URL direkt Button klicken (3)

Frage von Peter32 zum Thema JavaScript ...

PHP
Je nach angefragter Url einen anderen Titel einfügen (11)

Frage von Snowboarder1994 zum Thema PHP ...

Batch & Shell
gelöst Warum funktioniert das echo in meiner for-Schleife auch mit Sonderzeichen? (9)

Frage von Pedant zum Thema Batch & Shell ...

Firewall
gelöst Reverse Proxy Mappings was bedeuten die verschieden URL Ausführungen (6)

Frage von horstvogel zum Thema Firewall ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(3)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (11)

Frage von keine-ahnung zum Thema Exchange Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...