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, 7906 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?

Mit freundlichen Grüßen
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 ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Firewall
Palo Alto PA-200 URL Filtering

Frage von Yannosch zum Thema Firewall ...

Administrator.de Feedback
Bug? "m f g" (ohne Leerzeichen) wird auch in URL ersetzt (4)

Frage von emeriks zum Thema Administrator.de Feedback ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Exchange Server
gelöst SBS 2008 (Exchange 2007 SP3) - externe URL ändern - neues Zertifikat (8)

Frage von Ezekiel666 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...