当前位置:编程学习 > C#/ASP.NET >>

标签<a>地址转向问题

有个web程序,地址为 http://www.test.com/
有个录入页面,用户可在一个输入框中输入一个网址,然后此网址在其它页面通过标签<a>转向此网站。

假如用户输入的是 www.sina.com.cn,而不是http://www.sina.com.cn

在新页面用 <a href="www.sina.com.cn">浏览</a>,转后的地址变为了http://www.test.com/www.sina.com.cn,而不是www.sina.com.cn

请问此种情况,标签<a>该如何写? --------------------编程问答-------------------- 兄弟们,帮忙啊 --------------------编程问答-------------------- 当用户在输入框输入提交后 到其它页面时
这个页面接收输入框值 就应该做判断了.
如果没带http:// 就加上
有带就直接赋值了 --------------------编程问答-------------------- 用正则判断下
<script type="text/javascript">
function fnCheck(s)   
{   
var patrn=/^(http:\/\/)/i; 
var patrn2=/^[-\.\w#%&:?=\/]+$/i; 
if (!patrn.exec(s)) return false  
if (!patrn2.exec(s)) return false  
return true
}  
--------------------编程问答-------------------- 加上 http:// --------------------编程问答-------------------- 纯JS实现:

<script type="text/javascript">
        function check() {
            var url=document.getElementById("txtUrl").value;
            var protocol = new RegExp();
            var address=new RegExp();
            protocol=/^http:\/\/\w+$/i;
            address=/^\w+.\w+.\w+(.\w+)$/;
            if ((protocol.test(url) == true) & (address.test(url) == true)) {
                location.href(url);
            }
            else if ((protocol.test(url) == false) & (address.test(url) == true)) {
                url = "http://" + url;
                location.href(url);
            }
            else {
                alert("不是网站地址!");
                return false;
            }
        }
    </script>
    <div>
        <input type="text" id="txtUrl" />
        <input type="button" id="btnSub" value="跳转" onclick="check()" />
    </div>

如果是在后台用Response.Redirect(URL)方法跳转的话,还是要用正则判断URL,对于不以http://开始的url,加上之后跳转即可. --------------------编程问答-------------------- JQERY 单击标签,弹出一个接受输入值的返回框,再将该值赋值给 <A herf="#">属性,单击连接不久好了 --------------------编程问答-------------------- 不好意思,没看仔细,我这个JS是在当前页面跳转的,但只要把跳转的语句改为向你的目标页面传参,然后你在目标页面获取参数就行了. --------------------编程问答-------------------- 补上http://就可以了 --------------------编程问答-------------------- 写个简单的JS即可。。。
--------------------编程问答--------------------
引用 5 楼 siqiutong 的回复:
纯JS实现:


JavaScript code
?



12345678910111213141516171819202122232425

<script type="text/javascript">         function check() {             var url=document.getElementById("txtUrl").valu……
可行。。。。 --------------------编程问答-------------------- <a href="http://www.baidu.com" target="_blank"> </a>即可 点击此连接,新页面直接转向百度 --------------------编程问答--------------------        嗯,楼上正解!
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,