我的页面运行后会有以下代码,但returnVal()不执行,原因是这个字符串D'William's S.A.中含有单引号,这就跟'javascript:returnVal这个单引号配对使用了,以致网面解析不正确这个函数returnVal()就无法执行了,但各位有什么办法解决呢?
<td class="rightrow1"><a href='javascript:returnVal("4","23272","173227","0","100588","D'William's S.A.","12111.40","2010-08-09","0.00","12111.40","1154")'>23272</a></td>  
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>173227</a></td>        
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>0</a></td>  
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>100588</a></td>  
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>D'William's S.A.</a></td>  
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>12111.40</a></td>
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>2010-08-09</a></td> 
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>0.00</a></td>
    <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>12111.40</a></td>

解决方案 »

  1.   

    转义一下
    <td class="rightrow1"><a href='javascript:returnVal("4","23272","173227","0","100588","D'William's S.A.","12111.40","2010-08-09","0.00","12111.40","1154")'>23272</a></td>  
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D\'William\'s S.A.","12111.40")'>173227</a></td>        
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>0</a></td>  
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>100588</a></td>  
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>D'William's S.A.</a></td>  
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>12111.40</a></td>
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>2010-08-09</a></td> 
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>0.00</a></td>
        <td class="rightrow1"><a href='javascript:returnVal("173227","0","100588","D'William's S.A.","12111.40")'>12111.40</a></td>
      

  2.   

    $s = "zhang\'san";
      

  3.   

    "><a href='javascript:returnVal(\"173227\",\"0\",\"100588\",\"D'William's S.A.\",\"12111.40\")'>173227</a>
      

  4.   

    select distinct DO.DONum, DO.SONum, SO.ShipNum, SO.CardCode, replace(substring(SO.CardName,1,20),'''','\'''), 
    cast(DO.SumQty as numeric(19,2)), left(DeliveryDate,4)+'-'+substring(DeliveryDate,5,2)+'-'+ right(DeliveryDate,2),
     cast(DO.CustomQty as numeric(19,2)),cast( DO.SumQty - DO.CustomQty as numeric(19,2)), DO.OID 
    from sumdeliveryorder DO inner join salesOrder  SO on DO.SoNum = SO.SONum在SQL Server中出来的结果是D\'William\'s S.A.
    但此SQL语句在JSP打印出来却成了
    select distinct DO.DONum, DO.SONum, SO.ShipNum, SO.CardCode, replace(substring(SO.CardName,1,20),'''',''''), 
    cast(DO.SumQty as numeric(19,2)), left(DeliveryDate,4)+'-'+substring(DeliveryDate,5,2)+'-'+ right(DeliveryDate,2),
     cast(DO.CustomQty as numeric(19,2)),cast( DO.SumQty - DO.CustomQty as numeric(19,2)), DO.OID 
    from sumdeliveryorder DO inner join salesOrder  SO on DO.SoNum = SO.SONum
    那在JSP显示的结果理所当然还是D'William's S.A.
    这是怎么回事?