SCRIPT这样写错在哪,谁帮我解决一下,急~

yejian6601503 2005-04-07 03:15:41
<script>
var t=parent.document.myform.Content.value;
document.myform2.Content2.value=t;
</script>

<form name="myform2">
<textarea name="Content2" style="display:none"></textarea>
</form>

t取得的值为什么不能返回到content2中去

用document.write("这是得到的值:"+t);是可以显示T的值的,这说明值已经提取过来了,现在怎么样才能把值返回到Content2中
...全文
98 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
l51 2005-04-11
  • 打赏
  • 举报
回复
可以實現,代碼也很簡單,只要你注意好它們的執行先後順序就可以,
不過我不想直接寫結果代碼給你(我不希望你是個懶人),
只告訴你方法:
1.asp是最先裝入的,所以如果它里面有JavaScript,會最先運行﹔
然后再裝入2.asp,請注意,2.asp里面只不過是個IFrame,
所以,它裝入后又直接裝入3.asp,現在它的對象層次應有兩個IFrame,而不是一個,
你注意這一點,問題應譔就解決了。
yejian6601503 2005-04-07
  • 打赏
  • 举报
回复
那再问下
1.asp
<form name="myform">
<textarea name="Content" style="display:none">1234556</textarea>
</form>
<iframe ID="editor" src="2.asp" frameborder=1 scrolling=no width="600" height="405"></iframe>

2.asp
<iframe ID="editor" src="3.asp" frameborder=1 scrolling=no width="600" height="405"></iframe>

3.asp
<script>
var t=parent.document.myform.Content.value;
document.write(t);
</script>

这样能把值取过来吗,也就是,3.asp在2.asp中,而2.asp又在1.asp中,我现在要在3.asp中显示1.asp要取过来的内容,能实现吗,怎么做?
l51 2005-04-07
  • 打赏
  • 举报
回复
你這里還有一個非常經典的問題:
<script>
var t=parent.document.myform.Content.value;
document.myform2.Content2.value=t;
</script>

<form name="myform2">
<textarea name="Content2"></textarea>
</form>
你有沒注意到,你的myform2是在JavaScript語句document.myform2.Content2.value=t;后面??
當document.myform2.Content2還不存在就對它進行操作,當然沒有用,不過不報錯也是奇怪的事情,
IE老是出這毛病﹔
其實用document.myform2.Content2.value=t也是可以賦值的,只不過在某些特定的場合不能用罷了。
l51 2005-04-07
  • 打赏
  • 举报
回复
對象樹理解錯誤,
window.ElementName的方式是對窗體對象進行訪問﹔
document.ElementID的方式是對此窗中顯示的文檔對象進行訪問﹔
所以要對myform2.Content2進行賦值,應該是對窗體對象的屬性進行操作,
window.myform2.Content2.value=t;
才對
parent.document.myform.Content是文檔對象中的子對象,它的句柄與窗體對象的句柄類型不同
但是parent.document.myform.Content.value;卻是字符串類型的對象,所以
var t=parent.document.myform.Content.value;中t是字符串;
所以window.myform2.Content2.value=t;不會出錯,因為window.myform2.Content2.value也是字符串
yejian6601503 2005-04-07
  • 打赏
  • 举报
回复
<script>
var t=parent.document.myform.Content.value;
window.alert(+t);
</script>
这样我可以显示出取得的值,是正确的但如果值是中文的就会变成nan,英文或数字就正常,我也不知道是怎么回事~

回到老问题,还是怎么把这个值返回到content2中去
声明,这二个表单是不在同一个页面上的

a.asp

<table width="610" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000" id="list">
<form name="myform">
<tr>
<td colspan="2" bgcolor="#FFFFFF"><textarea name="Content" style="display:none">12345678</textarea>
</td>
</tr>
</form>
<iframe ID="editor" src="2.asp" frameborder=1 scrolling=no width="600" height="405"></iframe>
</table>


b.asp

<script>
var t=parent.document.myform.Content.value;
document.myform2.Content2.value=t;
</script>

<form name="myform2">
<textarea name="Content2"></textarea>
</form>
ShiningstarHu 2005-04-07
  • 打赏
  • 举报
回复
你用alert(document.myform2.Content2)看看是什么?
根据你的情况,我猜应该是undefine.
yejian6601503 2005-04-07
  • 打赏
  • 举报
回复
去掉也一样,还是没有值过去啊
itzhiren 2005-04-07
  • 打赏
  • 举报
回复
<script>
var t=parent.document.myform.Content.value;
document.myform2.Content2.value=t;
</script>

<form name="myform2">
<textarea name="Content2" style="display:none"></textarea>
</form>

就这样,content2中就已经有值了
ShiningstarHu 2005-04-07
  • 打赏
  • 举报
回复
<textarea name="Content2" style="display:none"></textarea>
中你用了style="display:none"表示Content2为隐藏方式。
你把style="display:none"改成style="display:block"或者干脆去掉就可以了。
yejian6601503 2005-04-07
  • 打赏
  • 举报
回复
那能不能把这个T 的值作为一个变量呢?
要怎么做才可以,像ASP一样,用<%=t%>这样的直接调用出来呢?
libao1983 2005-04-07
  • 打赏
  • 举报
回复
这样应该是对的

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧