2013-01-10 36 views
2
<input type=button value='Do Stuff' onClick='document.cookie = "Note_<% Response.Write(arrTest(0,i)) %> = ' + (Document.getElementById("StuffTest<% Response.Write(arrTest(0,i)) %>").value) + '"'> 

我在这里要做的是当用户点击按钮时,我想要一个使用值创建的cookie:Note_(value of arrTest)=(文本框的值)。我可以在document.setcookie中返回document.getelementbyid的值吗?

下面的代码工作得很好:

<input type=button value='Do Stuff' onClick='document.cookie = "Note_<% Response.Write(arrTest(0,i)) %> = Awesome!"'> 

它创建的cookie的值:Note_(arrTest值)=真棒!

我的错误是如何将我的文本框的值存入cookie中?我假设它与所有那些混淆单/双引号的事情有关,所以我认为我刚刚得到了错字失误,但我的一部分人认为我实际上无法做我想在这里做的事情。

有什么想法?

回答

3

document.getElementById在所有小写document。您的代码示例使用Document(资本D),这将失败。

另外,你的报价,例如在onClick属性是不完全正确。最好避免在这些属性中放置任何重要的代码。取而代之的是,和调用一个函数,就像这样:

<input type=button 
     value='Do Stuff' 
     onClick='setCookie("<% Response.Write(arrTest(0,i)) %>);'> 

...其中的函数(<script>标签内或通过一个引用的文件)是这样的:

function setCookie(name) { 
    document.cookie = "Name_" + name + "=" + document.getElementById("StuffTest" + name).value; 
} 

根据arrTest(0,i)的内容,您可能需要在输出时对其进行HTML编码,因为您将其输出为HTML(是的,onXYZ属性中的代码是HTML,就像任何其他属性的值一样,因此例如<会需要是&lt;)。

+0

我实际上有一个功能,但我不断收到有关该函数未被定义的错误。这种想法可能会更容易。我猜不会。哦,回到画板上。 – JGGR13

+1

没关系......这是一个巨大的脑屁('未被定义的错误')。谁是(wo)男士?你是(wo)男人! – JGGR13

+0

@ JGGR13:很高兴帮助。 *“谁是(wo)男人?你是(wo)男人!”*哈哈! –

相关问题