none
通过callback取值,js处理的问题,请大家指点! RRS feed

  • 问题

  • 输入编号触发下面函数 
      function searchBoardNO()
      {
         var boardno = document.getElementById("<%= txtBoardNO.ClientID %>").value;     
         boardno="编号"+boardno;
         <%= ClientScript.GetCallbackEventReference(this, "boardno", "Receivehistory",null)%>;
      }
       function Receivehistory(Hvalue)
       {
         if(Hvalue!="空")
         {
            Hvalue=String(Hvalue);//这里从后台取值返回,Hvalue="项目名称+编号+3456-1"
            var svalue=Hvalue.split("+");//这里savalue={"项目名称","编号","3456-1"}
            for(var   i=0;i<svalue.length;i++)  
          {
            if(svalue[i]!="")
            {
             var temp=String(svalue[i+2]);//temp="3456-1"
             viewdiv.insertAdjacentHTML("beforeEnd","<div><input type='text' style='height:15px;width:200px;' value="+svalue[i]+"><input type='text' style='height:15px;width:120px;' value="+"编号:"+svalue[i+1]+"><input type='text' style='height:15px;width:160px;' value="+"历史单号:"+svalue[i+2]+"><button style='height:20px;' onclick='javascirpt:confirmboardno("+temp+");'>确认</button></div>");
             }  
             i++;
             i++; 
          }
         }
       }
      function  confirmboardno(cvalue)
      {
      debugger;
      alert(cvalue);//问题再这,比如我想要的值是"3456-1",但实际弹出来的值是"3455",问题到底在那里,困惑一天了,也没有解决!
      }
    可能这个问题不应该在这提,但我真的很困惑,请版主指点一二!
    2010年1月22日 10:24

答案

  • 你好,需要转义成html下的符号。下面例子是转义成html下的双引号。

    <script type="text/javascript" language="javascript">
        function test1(str) {
            confirm(str);
        
        }
        function test() {
            var str = "3456-1".toString();
          //  confirm(str);
            var div = document.getElementById("testDiv");
            div.innerHTML = "<input type='button' value='divButton' onclick='test1(" + "&quot;" + str + "&quot;" + ")'/>"
        }
    </script>
    
    
    <input id="Button1" type="button" value="button" onclick="javascript:test();" />
    <div id="testDiv">
    
    </div>

    Microsoft Online Community Support
    2010年1月25日 2:25

全部回复

  • 字符串要有引号啊
    onclick='javascirpt:confirmboardno(\""+temp+"\");'
    【孟子E章】
    2010年1月22日 12:04
    版主
  • 谢谢,孟兄高见!我想过要加引号,但我加的单引号,报错,我没想过要转义!
    2010年1月25日 1:25
  • 你好,需要转义成html下的符号。下面例子是转义成html下的双引号。

    <script type="text/javascript" language="javascript">
        function test1(str) {
            confirm(str);
        
        }
        function test() {
            var str = "3456-1".toString();
          //  confirm(str);
            var div = document.getElementById("testDiv");
            div.innerHTML = "<input type='button' value='divButton' onclick='test1(" + "&quot;" + str + "&quot;" + ")'/>"
        }
    </script>
    
    
    <input id="Button1" type="button" value="button" onclick="javascript:test();" />
    <div id="testDiv">
    
    </div>

    Microsoft Online Community Support
    2010年1月25日 2:25
  • 谢谢两位!每次到论坛里总是能得到启发!
    2010年1月28日 1:25