Input Correction Using Vbscript

我是研究僧i 提交于 2019-12-12 05:35:23

问题


My Hta add bookmark using vbscript. when user type Web address like http://www.Google.com/ it works well but when user type www.Google.com only,it add a button but this time button doesn't work and ended up showing an error of invalid address. code --

      <HTML xmlns:IE>
      <HEAD>

       <TITLE>Bookmarks</TITLE>

     <HTA:APPLICATION 
      ID="appbook"
      VERSION="1.0"
     APPLICATIONNAME="Bookmarks"
      SYSMENU="yes"
MAXIMIZEBUTTON="Yes"
MINIMIZEBUTTON="yes"
BORDER="thin"
    ICON="img\img.icoh"
INNERBORDER="thin"
SCROLL="Yes"
    SINGLEINSTANCE="no"
WINDOWSTATE="Maximize"
    CONTEXTMENU="NO"
     >
    <BODY>
    <SCRIPT LANGUAGE="VBScript">

    Sub Window_OnLoad
      window.offscreenBuffering = True
  Set objFSO = CreateObject("Scripting.FileSystemObject")
     Set objFile = objFSO.OpenTextFile("windowssettinguser.ini", 1)
     strContents = objFile.ReadAll
   objFile.Close

    strHTML = UserArea.innerHTML
    strHTML = strContents
    UserArea.innerhtml = strhtml
    end sub

    sub addlink1
    firstresponse = inputbox("Please Enter Web Address Of Your Favourite Web Page Or Item. NOTE THAT - Use ''http://'' In Front Of Your Web Adress Either You Will Be Dealing With A Error." ,"Add New Address  ")
    if firstresponse = "" then
        alert "enter something"
     else
       secondresponse = inputbox("Please Enter Name Of Your Desire Which Replace 'Your Link Here' In Main Window.","LinkzMe - Edit Button")
      if secondresponse = "" then
      alert "Enter something"
     else

      Set objFSO = CreateObject("Scripting.FileSystemObject")
     Set objFile = objFSO.OpenTextFile("windowssettinguser.ini", 2)
      objFile.Writeline "<input type=" & chr(34) & "button" & chr(34) & "class=" & chr(34) & "button" & chr(34) & "value=" & chr(34) & secondresponse & chr(34) & "onclick=" & chr(34) & "window.location.href="& chr(39) & firstresponse & chr(39) & chr(34)  & "STYLE=" & chr(34) & "position: absolute; right: 365 ; top: 156;" & chr(34) & ">"            objFile.Close
     Window_OnLoad
      Msgbox "Bookmark Added Successfully.","0","Job Done"
     end if 
     end if
      end sub
     </script>
       <input type="button" class="button" value="Add Bookmark" name="addlink1" onClick="addlink1"  >
     <span id = "UserArea"></span>
     </BODY>

回答1:


I made some modification like to check if the file windowssettinguser.ini exists or not ; if dosen't exist it create it in appending mode.

Adding Protocol Http if the url typed by the user dosen't included.

<HTML>
<HEAD>
<TITLE>Bookmarks</TITLE>
<HTA:APPLICATION
ID="appbook"
VERSION="1.0"
APPLICATIONNAME="Bookmarks"
SYSMENU="yes"
MAXIMIZEBUTTON="Yes"
MINIMIZEBUTTON="yes"
BORDER="thin"
ICON="magnify.exe"
INNERBORDER="thin"
SCROLL="Yes"
SINGLEINSTANCE="no"
WINDOWSTATE="Maximize"
CONTEXTMENU="NO"
>
<style>
body{
background-color: DarkOrange;
}
</style>
<META HTTP-EQUIV="MSThemeCompatible" CONTENT="YES">
<BODY>
<SCRIPT LANGUAGE="VBScript">

Sub Window_OnLoad
    window.offscreenBuffering = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists("windowssettinguser.ini") Then
        Set objFile = objFSO.OpenTextFile("windowssettinguser.ini",1)
        strContents = objFile.ReadAll
        objFile.Close
        strHTML = UserArea.innerHTML
        strHTML = strContents
        UserArea.innerhtml = strhtml
    else
        Set objFile = objFSO.OpenTextFile("windowssettinguser.ini",8,True)
    End If
end sub

sub addlink1
    Title="Add Web Address Of Your Favourite Web Page"
    firstresponse = inputbox("Please Enter Web Address Of Your Favourite Web Page Or Item !",Title)
    if firstresponse = "" then
        alert "enter something"
    else
        secondresponse = inputbox("Please Enter Name Of Your Desire Which Replace 'Your Link Here' In Main Window.","LinkzMe - Edit Button")
        if secondresponse = "" then
            alert "Enter something"
        else
            Set objFSO = CreateObject("Scripting.FileSystemObject")
            Set objFile = objFSO.OpenTextFile("windowssettinguser.ini",8)
            ProtocoleHTTP = "http://"
            If Left(firstresponse,7) <> ProtocoleHTTP Then
                firstresponse = ProtocoleHTTP & firstresponse
            End if
            objFile.Writeline "<hr><input type=" & chr(34) & "button" & chr(34) & "class=" & chr(34) & "button" & chr(34) & "value=" & chr(34) & secondresponse & chr(34) & "onclick=" & chr(34) & "window.location.href="& chr(39) & firstresponse & chr(39) & chr(34) & "Title="& firstresponse &">"
            objFile.Close
            Msgbox "Bookmark Added Successfully.",Vbinformation,"Job Done"
            window.location.reload(True)
        end if
    end if
end sub
</script>
<input type="button" class="button" value="Add Bookmark" name="addlink1" onClick="addlink1"  >
<span id = "UserArea"></span>
</BODY>
</html>


来源:https://stackoverflow.com/questions/28492306/input-correction-using-vbscript

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!