看不懂楼主的意思,楼主是想要字符串替换函数吧?给楼主两个字符串替换函数:
function stringReplace(originalString,findText,replaceText)
{
  var pos = 0;
  var len = findText.length;
  pos = originalString.indexOf(findText);
  while(pos != -1)
  {
  preString = originalString.substring(0,pos);
  postString = originalString.substring(pos + len,originalString.length);
  originalString = preString + replaceText + postString;
  pos = originalString.indexOf(findText);
  }
  return originalString;
}function replaceSubstring(inputString, fromString, toString) {
var temp = inputString;
if (fromString == "") {
return inputString;
}
if (toString.indexOf(fromString) == -1) { 
while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}
} else { 
var midStrings = new Array("~", "`", "_", "^", "#");
var midStringLen = 1;
var midString = "";
while (midString == "") {
for (var i=0; i < midStrings.length; i++) {
var tempMidString = "";
for (var j=0; j < midStringLen; j++) { tempMidString += midStrings; }
if (fromString.indexOf(tempMidString) == -1) {
midString = tempMidString;
i = midStrings.length + 1;
}
}

while (temp.indexOf(fromString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(fromString));
var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
temp = toTheLeft + midString + toTheRight;
}
while (temp.indexOf(midString) != -1) {
var toTheLeft = temp.substring(0, temp.indexOf(midString));
var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
temp = toTheLeft + toString + toTheRight;
}

return temp; 

解决方案 »

  1.   

    看不懂楼主的意思,楼主是想要字符串替换函数吧?给楼主两个字符串替换函数:
    function stringReplace(originalString,findText,replaceText)
    {
      var pos = 0;
      var len = findText.length;
      pos = originalString.indexOf(findText);
      while(pos != -1)
      {
      preString = originalString.substring(0,pos);
      postString = originalString.substring(pos + len,originalString.length);
      originalString = preString + replaceText + postString;
      pos = originalString.indexOf(findText);
      }
      return originalString;
    }function replaceSubstring(inputString, fromString, toString) {
    var temp = inputString;
    if (fromString == "") {
    return inputString;
    }
    if (toString.indexOf(fromString) == -1) { 
    while (temp.indexOf(fromString) != -1) {
    var toTheLeft = temp.substring(0, temp.indexOf(fromString));
    var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
    temp = toTheLeft + toString + toTheRight;
    }
    } else { 
    var midStrings = new Array("~", "`", "_", "^", "#");
    var midStringLen = 1;
    var midString = "";
    while (midString == "") {
    for (var i=0; i < midStrings.length; i++) {
    var tempMidString = "";
    for (var j=0; j < midStringLen; j++) { tempMidString += midStrings; }
    if (fromString.indexOf(tempMidString) == -1) {
    midString = tempMidString;
    i = midStrings.length + 1;
    }
    }

    while (temp.indexOf(fromString) != -1) {
    var toTheLeft = temp.substring(0, temp.indexOf(fromString));
    var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
    temp = toTheLeft + midString + toTheRight;
    }
    while (temp.indexOf(midString) != -1) {
    var toTheLeft = temp.substring(0, temp.indexOf(midString));
    var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
    temp = toTheLeft + toString + toTheRight;
    }

    return temp; 

      

  2.   

    另外,location.href可以访问地址栏
    比如这样可以跳转链接到sina
    location.href = "http://www.sina.com";我猜楼主要的是这个效果吧?
    <script>
    function   stringReplace(originalString,findText,replaceText) 

        var   pos   =   0; 
        var   len   =   findText.length; 
        pos   =   originalString.indexOf(findText); 
        while(pos   !=   -1) 
        { 
        preString   =   originalString.substring(0,pos); 
        postString   =   originalString.substring(pos   +   len,originalString.length); 
        originalString   =   preString   +   replaceText   +   postString; 
        pos   =   originalString.indexOf(findText); 
        } 
        return   originalString; 
    } function changeUrl(findText, replaceText){
       location.href = stringReplace(location.href, findText, replaceText);
    }
    </script><input type="button" onclick="changeUrl('id','99')" />
      

  3.   

    另外,人家这个函数,分明就可以设定url参数的
    function   changeURLPar(destiny,   par,   par_value) 

      var   pattern   =   par+'=([^&]*)'; 
      var   replaceText   =   par+'='+par_value; 
      
      if   (destiny.match(pattern)) 
      { 
        var   tmp   =   '/\\'+par+'=[^&]*/'; 
        tmp   =   destiny.replace(eval(tmp),   replaceText); 
        return   (tmp); 
      } 
      else 
      { 
        if   (destiny.match('[\?]')) 
        { 
          return   destiny+'&'+   replaceText; 
        } 
        else 
        { 
          return   destiny+'?'+replaceText; 
        } 
      } 
      
      return   destiny+'\n'+par+'\n'+par_value; 

    楼主可以这样写:
    onClick="location.href = changeURLPar('http://www.abc.com/test.jsp?id=%25u4E1C%25u5317','id','99')";
    记住,字符串要加引号,要修改链接就要给location.href赋值
      

  4.   

    谢谢joycheney 的提醒
    不过你4楼写的是错的,我测试过!
      

  5.   

    A标签有一个disabled属性
    <a href="http://www.google.com" Onclick="this.disabled=true">google</a>试试?
      

  6.   

    <a href="http://www.google.com" target="_blank" Onclick="this.disabled=true">google</a>
    这样吧,忘了写在新窗口打开