将会话值复制到输入字段

时间:2009-06-26 00:55:33

标签: jquery asp-classic

我不明白为什么以下代码无效。我将一些输入值保存到会话中。在下一页中,我希望用户能够将这些值复制到输入字段。

  

$(function(){     $( “输入#copyshipping”)。单击(函数(){

    if ($("input#copyshipping").is(':checked'))

    {  
        // Checked, copy values  
        $("input#BillingFirstName").val("<%=Session("ShippingFIRSTNAME")%>");

        $("input#BillingLastName").val("<%=Session("ShippingLASTNAME")%>");

      $("input#BillingAddress1").val("<%=Session("ShippingADDRESS1")%>");

        $("input#BillingAddress2").val("<%=Session("ShippingADDRESS2")%>");

        $("input#BillingCity").val("<%=Session("ShippingCITY")%>");

      $("input#BillingState").val("<%=Session("ShippingSTATE")%>");

        $("input#BillingCountry").val("<%=Session("ShippingPOSTALCODE")%>");

      $("input#BillingPostalCode").val("<%=Session("ShippingCOUNTRY")%>");

    } else {  
        // Clear on uncheck  
        $("input#BillingFirstName").val("");  
      $("input#BillingLastName").val("");  
      $("input#BillingAddress1").val("");  
        $("input#BillingAddress2").val("");  
      $("input#BillingCity").val("");  
      $("input#BillingState").val("");  
        $("input#BillingCountry").val("");  
      $("input#BillingPostalCode").val("");

  }       });  });

2 个答案:

答案 0 :(得分:3)

查看源代码,看起来文本框没有id属性,只有name属性。例如,当你说$("input#BillingFirstName")时,“#”表示一个ID,而那里没有一个。

添加ID,或使用$("input[name='BillingFirstName'])。我建议添加id;它是一个更快的选择器。

答案 1 :(得分:0)

如果选中复选框,为什么不直接将会话数据回显到输入中?没有理由将它回显到JavaScript代码中,然后让jQuery填充表单。

此外,如果用户禁用了JavaScript,则此当前设置将失败。