第一个input 的值自动给第二个input

伊能静 2007-06-11 06:05:24
<input type='file' style='ime-mode:disabled;' size='50' name='file"+i+"' onchange=\"document.getElementById('aa"+i+"').value = this.value.replace(/\\S+\\:\\\\/,'')\"><input type='text' id='aa"+i+"' style='ime-mode:disabled;' size='50' name='imagethumbsurl' onchange=\"document.getElementById('bb"+i+"').value = this.value.replace(/\\S+\\:\\\\/,'')\"><input type='text' id='bb"+i+"' style='ime-mode:disabled;' size='50' name='imageurl'>

第一个input 的值自动给第二个input :onchange=\"document.getElementById('aa"+i+"').value = this.value.replace(/\\S+\\:\\\\/,'')\ 成功

但是,第二个input 的值自动给第三个input :onchange=\"document.getElementById('bb"+i+"').value = this.value.replace(/\\S+\\:\\\\/,'')\ 为啥就不成功呢?

请高手看看错在哪……谢谢。
...全文
363 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
伊能静 2007-06-11
  • 打赏
  • 举报
回复
太感谢高手了。就快成功了。激动阿。
现在碰到这样的问题:
document.getElementById('aa"+i+"').value=obj.value;
document.getElementById('bb"+i+"').value=obj.value.replace(/\./, "_s.");


我的代码如下,该如何修改呢?:

<script language="JavaScript">
var allfilefolder
var allfilename
var filearr
var start = 1
var end
var s;
function selectfiletype()
{
var sHTML = ',';
var oListft = document.all.ft;
for ( var i = 0 ; i < oListft.length ; i++ )
{
var sValue = oListft[i].value.replace("<br>","");
if (oListft[i].checked)
{
sHTML += sValue+"," ;
}
}
document.all.allselectfileeext.value = sHTML;
}
function creatinput()
{
var allfilefolder = document.all.pathstr.value
var allfilename = document.all.fileliststr.value
var filearr = allfilename.split("|")
end = filearr.length+1
formhtml = ""
for (i=start;i<end;i++)
{
k = "00000"+i;
k = k.substr(k.length-4,4)
formhtml+="("+k+").<input type='file' name='file"+i+"' onchange=\"javascript:f(this)\"><input type='text' id='aa"+i+"'><input type='text' id='bb"+i+"'>
<br>"
}
document.all.MyZone.innerHTML=formhtml;
s = setInterval("setfile(start)",50);
}
function setfile(j)
{
var allfilefolder = document.all.pathstr.value
var allfilename = document.all.fileliststr.value
var filearr = allfilename.split("|")
eval("document.all.file"+j).focus();
var WshShell=new ActiveXObject("HW.Shell")
WshShell.HWsendKeys(allfilefolder+filearr[j-1].split("*")[0])
start++
if (start==end){clearInterval(s);start=1;}
}
</script>

<script type="text/javascript">
function f(obj)
{
document.getElementById('aa"+i+"').value=obj.value;
document.getElementById('bb"+i+"').value=obj.value.replace(/\./, "_s.");
}
</script>
chuckcoin 2007-06-11
  • 打赏
  • 举报
回复
我的正则写错了,应该是/\./
伊能静 2007-06-11
  • 打赏
  • 举报
回复
谢谢高手
但,实际测试效果下:
\Desktop\mmm\301429.jpg
_s.Desktop\mmm\301429.jpg

我不知道该如何修改才能把_s.加在正确位置。
谢谢高手。
chuckcoin 2007-06-11
  • 打赏
  • 举报
回复
按你的需求,写一点给你参考一下
<input id="i1" type="text" onchange="javascript:f(this)" />
<input id="i2" type="text" />
<input id="i3" type="text" />

<script type="text/javascript">
function f(obj)
{
document.getElementById("i2").value=obj.value;
document.getElementById("i3").value=obj.value.replace(/./, "_s.");
}
</script>

自己看着修修改改~
伊能静 2007-06-11
  • 打赏
  • 举报
回复
我希望,第三个input,也自动取得第一个input 的值,但要求是:他的值是把文件名中的.jpg替换成_s.jpg

注:这里的input的值全部都是图片名,并且都是.jpg结尾。只是我需要第三个input的值自动变成_s.jpg 结尾。

请高手帮我。谢谢。
伊能静 2007-06-11
  • 打赏
  • 举报
回复
是这样啊
那我的目的要如何才能实现呢?
chuckcoin 2007-06-11
  • 打赏
  • 举报
回复
通过onchange事件给第二个input赋值,并不会触发第二个input的onchange事件

28,391

社区成员

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

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