查看: 935|回复: 14
|
如何改变以下的javascript..
[复制链接]
|
|
请问如何将以下的javascript改去....
[document.form1.txt_keyword.value] change to <%#Container.DataItem("code")%>
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=' '
3" name="intelliTxt" id="intelliTxt">txt_Keyword', document.form1.txt_keyword.value,'false');return false;"
Text='<%#Container.DataItem("code")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
[ 本帖最后由 一只优雅的猪 于 29-1-2007 11:08 AM 编辑 ] |
|
|
|
|
|
|
|

楼主 |
发表于 29-1-2007 11:09 AM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-1-2007 02:38 PM
|
显示全部楼层
这是asp.net,不是javascript吧?
不能直接换上吗? |
|
|
|
|
|
|
|

楼主 |
发表于 29-1-2007 04:32 PM
|
显示全部楼层
试过了。。。不可以 (不管有没有加开关引号)
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=' '
3" name="intelliTxt" id="intelliTxt">txt_Keyword', '<%#Container.DataItem("code")%>','false');return false;"
Text='<%#Container.DataItem("code")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn> |
|
|
|
|
|
|
|
发表于 29-1-2007 08:16 PM
|
显示全部楼层
試試 document.form1.getElementById('txt_keyword').value |
|
|
|
|
|
|
|
发表于 30-1-2007 01:14 AM
|
显示全部楼层
对不起... 你的 code 写的相当乱... 你的 link 倒底要做什么? |
|
|
|
|
|
|
|

楼主 |
发表于 30-1-2007 02:19 AM
|
显示全部楼层
我所编写的javascript, 蓝色highlight的那段是读取txt_keyword的value..
但我想把它换去读取我所点选的row field data, 也就是<%#Container.DataItem("code")%>
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=''
Text='<%#Container.DataItem("code")%>'>
color: Blue;">document.form1.txt_keyword.value,'false');return false;"
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn> |
|
|
|
|
|
|
|
发表于 30-1-2007 10:34 AM
|
显示全部楼层
原帖由 一只优雅的猪 于 30-1-2007 02:19 AM 发表
我所编写的javascript, 蓝色highlight的那段是读取txt_keyword的value..
但我想把它换去读取我所点选的row field data, 也就是<%#Container.DataItem("code" %>
<asp:TemplateColumn H ...
对不起... 我实在看不明白... 为什么会有 javascript 在里面?? 你的 datagrid 倒底要做什么呀? |
|
|
|
|
|
|
|

楼主 |
发表于 30-1-2007 12:20 PM
|
显示全部楼层
对不起,请注意红色highlighted的那段文字
我要user一click就会执行windows.opener.setdate这段javascript....
现在面对的问题是..我要将原本javascript读取document.form1.txt_keyword.value换去读取<%#Container.DataItem("code")%>
---------------------------------------------------------------------------------------------------------------------
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=''
Text='<%#Container.DataItem("code")%>'>
color: Red;" size="2">txt_Keyword', document.form1.txt_keyword.value,'false');return false;"
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn> |
|
|
|
|
|
|
|
发表于 31-1-2007 01:23 AM
|
显示全部楼层
老实说... 你的 code 写到那样... 可以 run 吗? 尤其是这行:
color: Red;" size="2">txt_Keyword', document.form1.txt_keyword.value,'false');return false;"
你要做到你所说的, 是可行的, 但别在这里做, 应该用 code 来 generate. |
|
|
|
|
|
|
|

楼主 |
发表于 31-1-2007 11:12 AM
|
显示全部楼层
不知为何,我的posted的问题和原本我写的问题有出入。。 所以难怪你说我的code不可行
我刚发觉 "onlick=..." 这段文字会自动消失。。 所以我改成 "oncl ick=..."
anyway.. 请再花时间看看我的code..
------------------------------------------------------------------------------------
请注意红色highlighted的那段文字
我要user一click就会执行windows.opener.setdate这段javascript....
现在面对的问题是..我要将原本javascript读取document.form1.txt_keyword.value
换去读取<%#Container.DataItem("code")%>
------------------------------------------------------------------------------------
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=' '
oncl ick = "window.opener.SetDate('form1','txt_Keyword', document.form1.txt_keyword.value,'false');"
Text='<%#Container.DataItem("code")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
[ 本帖最后由 一只优雅的猪 于 31-1-2007 11:23 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 1-2-2007 01:30 AM
|
显示全部楼层
我明白你说什么了.
解决方法很简单, 用 Javascript late binding 的方法.
<asp:TemplateColumn HeaderText="Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl=' ' Text='<%#Container.DataItem("code")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
然后, 在你的 aspx 最后一段, </body> 之前, 写下这 javascript:
<script language="javascript">
function DoAction()
{
// 你的 javascript
}
// assign an event
for (var x = 0; x < document.links.length; x++) {
if (document.links[x].id.indexOf("Hyperlink1") > 0) {
document.links[x].onclick = DoAction;
}
}
</script>
至于你说... javascript 里如何 pass value 进去...
我想, 交给你去想了... 给你一点提示... 你还是可以用 javascript 来办到.
请务必参考我的 for loop. |
|
|
|
|
|
|
|

楼主 |
发表于 3-2-2007 10:49 AM
|
显示全部楼层
goatstudio, 我照着你的方法修改但还是得不到我要的效果,你看看那里出错了!
1) NavigateUrl 不需要放如何东西吗?, 因为我要user按下对应的hyperlink来trigger我的javascript!
2) 我想pass value of Hyperlink1 to javascript的方法就是这样吧? document.links[x].id.indexOf("Hyperlink1";)
<asp:DataGrid>
<Columns>
<asp:TemplateColumn HeaderText=";Product Code">
<ItemTemplate>
<asp:HyperLink ID="Hyperlink1" runat="server" NavigateUrl='' Text='<%#Container.DataItem("code";)%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
</form>
<script language="javascript">
function DoAction()
{
alert('Hyperlink Clicked');"
}
// assign an event
for (var x = 0; x < document.links.length; x++) {
if (document.links[x].id.indexOf("Hyperlink1";) > 0) {
document.links[x].onclick = DoAction;
}
}
</script>
</body>
[ 本帖最后由 一只优雅的猪 于 3-2-2007 10:50 AM 编辑 ] |
|
|
|
|
|
|
|
发表于 3-2-2007 01:18 PM
|
显示全部楼层
原帖由 一只优雅的猪 于 3-2-2007 10:49 AM 发表
goatstudio, 我照着你的方法修改但还是得不到我要的效果,你看看那里出错了!
1) NavigateUrl 不需要放如何东西吗?, 因为我要user按下对应的hyperlink来trigger我的javascript!
2) 我想pass value of Hyp ...
其实你是想 navigate 去别的 page 还是 trigger javascript?
如果你要 pass hyperlink1 的 value 应该要用 innerHTML 吧。 |
|
|
|
|
|
|
|
发表于 5-2-2007 01:29 AM
|
显示全部楼层
原帖由 一只优雅的猪 于 3-2-2007 10:49 AM 发表
goatstudio, 我照着你的方法修改但还是得不到我要的效果,你看看那里出错了!
1) NavigateUrl 不需要放如何东西吗?, 因为我要user按下对应的hyperlink来trigger我的javascript!
2) 我想pass value of Hyp ...
先来 debug.
1. 你先 View Source. 你的 datagrid 里的 link 有没有被贴上 onclick? 你的 link 的 id 是怎么样开始的? 有没有 HyperLink1在里面?
2. 当你按那 link 的时候, 有没有任何 Javascript 错误讯息?
3. 先放一些东西在你的 NavigateURL 试试看. |
|
|
|
|
|
|
| |
本周最热论坛帖子
|