str += "<td>名称<BR><input onkeydown='if (event.keyCode==13){window.open(\"newyh.php?\" + this.value,\"report\");ChangeWidth(this.parentNode.cellIndex,0)
}type=text name=yhc'+newitemid+'></td>";

解决方案 »

  1.   

    str += "<td>名称<br><input onkeydown='if (event.keyCode==13){window.open(\"newyh.php?\" + this.value,\"report\");ChangeWidth(parentNode.cellIndex,parentNode.parentNode.rowIndex)}' type=text name=yhc"+newitemid+"></td>";我是瞎猜的,你试试看成不成
      

  2.   

    yonghengdizhen:咱们心有灵犀呵呵。
      

  3.   

    哪位好心的大哥能运行一下,下边的这段,帮我找找原因为什么会报错!!!
    <html>
    <head>
    <script></script></head>
    <form name="hid">
    <input type=hidden name="che" value="0">
    </form>
    <script>
    onload=function() {
    document.hid.che.value=parseInt(document.hid.che.value)+1;
    var newitemid=document.hid.che.value;
    str ='<form name=newtable action="http://192.168.0.17/htdocs/yh.php" onkeydown="if(event.keyCode==13) event.keyCode=9;">';
    str += '<table><tr><td>日期<p><input type=text name=yha' +newitemid+ ' onkeydown="if(event.keyCode==13) event.keyCode=9;">';
    str += '</td>';
    str += "<td>名称<br><input onkeydown='if (event.keyCode==13){window.open(\"newyh.php?\" + this.value,\"report\");ChangeWidth(parentNode.cellIndex,parentNode.parentNode.rowIndex)}' type=text name=yhc"+newitemid+"></td>";
    str += '<td>年龄<p><input type=text name=yhc'+newitemid+'></td>';
    str += '<td>单位<p><input type=text name=yhd'+newitemid+'></td>';
    str += '<td>体型<p><input type=text name=yhe'+newitemid+'></td>';
    str += '<td>重量<p><input type=text name=yhf'+newitemid+'></td>';
    str += '<td>生日<p><input type=text name=yhg'+newitemid+'></td>';
    str += '<td>编号<p><input type=text name=yhh'+newitemid+'></td>';
    str += '<td>婚否<p><input type=text name=yhi'+newitemid+'></td>';
    str += '<td>地点<p><input type=text name=yhj'+newitemid+'></td>';
    str += '<td>描述<p><input type=text name=yhk'+newitemid+'></td>';
    str += '<td>意见<p><input type=text name=yhl'+newitemid+'></td>';
    str += '<td>介绍人<p><input type=text name=yhm'+newitemid+'></td>';
    str += '<td>备注<p><input type=text name=yhn'+newitemid+'>';
    str += '</td></tr></table>';
    str += '<p><input type=submit name="保存" value="保存">';
    document.writeln(str);
    }
    function ChangeWidth(colIndex,tagIndex)
    {
    var len=0;
    for(i=0;i<oTable.rows.length;i++)
    {
    if(oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].value.length>len)
    len=oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].value.length
    }
    for(i=0;i<oTable.rows.length;i++)
    {
    oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].size=len
    }
    }
      

  4.   

    1 script没有结束标识,
    2 在页面中间写onload函数来并不能实现在页面装载完了再在页面的中间写东西<html>
    <head>
    <script>function ChangeWidth(colIndex,tagIndex)
    {
    var len=0;
    for(i=0;i<oTable.rows.length;i++)
    {
    if(oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].value.length>len)
    len=oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].value.length
    }
    for(i=0;i<oTable.rows.length;i++)
    {
    oTable.rows(i).cells(colIndex).all.tags("INPUT")[0].size=len
    }
    }
    </script>
    </head>
    <body>
    <form name="hid">
    <input type=hidden name="che" value="0">
    <SCRIPT LANGUAGE="JavaScript">
    <!--document.hid.che.value=parseInt(document.hid.che.value)+1;
    var newitemid=document.hid.che.value;
    str ='<form name=newtable action="http://192.168.0.17/htdocs/yh.php" onkeydown="if(event.keyCode==13) event.keyCode=9;">';
    str += '<table><tr><td>日期<p><input type=text name=yha' +newitemid+ ' onkeydown="if(event.keyCode==13) event.keyCode=9;">';
    str += '</td>';
    str += "<td>名称<br><input onkeydown='if (event.keyCode==13){window.open(\"newyh.php?\" + this.value,\"report\");ChangeWidth(parentNode.cellIndex,parentNode.parentNode.rowIndex)}' type=text name=yhc"+newitemid+"></td>";
    str += '<td>年龄<p><input type=text name=yhc'+newitemid+'></td>';
    str += '<td>单位<p><input type=text name=yhd'+newitemid+'></td>';
    str += '<td>体型<p><input type=text name=yhe'+newitemid+'></td>';
    str += '<td>重量<p><input type=text name=yhf'+newitemid+'></td>';
    str += '<td>生日<p><input type=text name=yhg'+newitemid+'></td>';
    str += '<td>编号<p><input type=text name=yhh'+newitemid+'></td>';
    str += '<td>婚否<p><input type=text name=yhi'+newitemid+'></td>';
    str += '<td>地点<p><input type=text name=yhj'+newitemid+'></td>';
    str += '<td>描述<p><input type=text name=yhk'+newitemid+'></td>';
    str += '<td>意见<p><input type=text name=yhl'+newitemid+'></td>';
    str += '<td>介绍人<p><input type=text name=yhm'+newitemid+'></td>';
    str += '<td>备注<p><input type=text name=yhn'+newitemid+'>';
    str += '</td></tr></table>';
    str += '<p><input type=submit name="保存" value="保存">';
    document.writeln(str);//-->
    </SCRIPT>
    </form>这样也许好一点,不过也不保险,主要是
    ----------------------------------------
    var newitemid=document.hid.che.value
    -----------------------------------------
    这句是在页面还在装载的时候运行的。其实何必用这样的写法呢?
      

  5.   

    这句怎么也少了?var oTable = document.newtable;
    说实在的,我一点都看不出你的意图。
      

  6.   

    是要这样的东西吗?<html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function getLength(str)
    {
    var result = 0;
    for (var i=0;i<str.length;i++)
    result += (str.charCodeAt(i)>255)?2:1
    return result;
    }
    function cloneLine()
    {
    var tmptr = event.srcElement.parentNode.parentNode;
    var tmptr2 = tmptr.cloneNode(true);
    tmptr.parentNode.insertBefore(tmptr2)
    event.keyCode=9
    }
    //-->
    </SCRIPT>
    </head>
    <body>
    <form name=form1>
    <table>
    <tr>
    <td>日期<input size=8 onkeydown="if (event.keyCode==13) event.keyCode=9"></td>
    <td>名称<input size=8 onchange="this.size=getLength(this.value)" onkeydown="if (event.keyCode==13) event.keyCode=9"></td>
    <td>年龄<input size=8 onkeydown="if (event.keyCode==13) event.keyCode=9"></td>
    <td>单位<input size=8 onkeydown="if (event.keyCode==13) event.keyCode=9"></td>
    <td>体型<input size=8 onkeydown="if (event.keyCode==13)cloneLine()"></td>
    </tr>
    </table>
    <input type=button onclick="document.form1.submit()" value="提交">
    </form>
    </body>
    </html>惭愧的很,秋水那段判断串真实长度的代码一时竟然找不到,只好写了段笨笨的getLength()。
    没有用submit按钮是为了防止误操作发送表单。
      

  7.   

    <script>
    function XXX(ss)
    {
    //加你需要的过程
    }
    </script>
    <input type="text" name="XXXX" onBlur="XXX(this.value)" value size="20" >
      

  8.   

    呵呵,谢谢你,因为我要贴这个啊:
    <html>
    <head>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function getLength(str)
    {
    var result = 0;
    for (var i=0;i<str.length;i++)
    result += (str.charCodeAt(i)>255)?1.87:1
    if (result <6) result =6
    return result;
    }
    function resizeInput()
    {
    with (tbody1)
    for (var i=0;i<tr1.children.length;i++)
    {
    var k=6;
    for (var j=0;j<children.length;j++)
    with (children[j].children[i].lastChild)
    if  (getLength(value)>k)
    k = getLength(value);
    for (var j=0;j<children.length;j++)
    children[j].children[i].lastChild.size=k;
    }
    event.keyCode=9
    }
    function cloneLine()
    {
    var t = tbody1.children.length;
    var tmptr = tr1.cloneNode(true);
    tmptr.id=null
    tmptr.style.display="";
    tmptr.children[0].innerHTML = "日期<input size=6 name=yha"+t+" onkeydown='if (event.keyCode==13) resizeInput()' onchange='resizeInput()'>"
    tmptr.children[1].innerHTML = "名称<input size=6 name=yhb"+t+" onkeydown='if (event.keyCode==13) {window.open(\"newyh.php?\" + this.value,\"report\"); resizeInput()}' onchange='resizeInput()'>"
    tmptr.children[2].innerHTML = "年龄<input size=6 name=yhc"+t+" onkeydown='if (event.keyCode==13)  resizeInput()' onchange='resizeInput()'>"
    tmptr.children[3].innerHTML = "单位<input size=6 name=yhd"+t+" onkeydown='if (event.keyCode==13)  resizeInput()' onchange='resizeInput()'>"
    tmptr.children[4].innerHTML = "体型<input size=6 name=yhe"+t+" onkeydown='if (event.keyCode==13) {cloneLine() ;resizeInput()}' onchange='resizeInput()'>"
    tbody1.insertBefore(tmptr)
    event.keyCode=9
    }
    //-->
    </SCRIPT>
    </head>
    <body onload=cloneLine()>
    <form name=form1>
    <table>
    <tr style="display:none" id=tr1><td></td><td></td><td></td><td></td><td></td></tr>
    <tbody id=tbody1>
    </tbody>
    </table>
    <input type=button onclick="document.form1.submit()" value="提交">
    </form>
    </body>
    </html>以下是楼主的要求:
    接近了!
    还差:
    1。增加了N行之后,第一行中日期,名称,年龄三个框的宽度同时都变化。
    比如:第一行中名称输入的值是:tom
          第二行中名称输入的值是:Johnson
          第三行中名称输入的值是:mike那么这一列<input>的宽度动态为Johnson这个框的宽度!其它各列都要具备这个功能2。在名称这一列框中,先输入字符,再按下回车后,能跳出另一个窗口对以上的说明:
    能够在名称这一列框中按回车键跳出新窗口,是为了把输入的字符传到新开窗口的页面中去!
    您好象没有为动态增加的一行的各个<input>的名字作变化。这是必须的,要因我后边要根据传到新开窗口的那个值班,即(姓名这一列)的值作数据库查询。然后从新开窗口中选定数据库查询的某一行结果返写回调用页面!所以必须要为新增行的每一列动态变化name的值!比如:姓名<input name=name1>
          姓名<input name=name2>
          姓名<input name=name3>其它各列一样!无论有多少列产生唉,这1分真不好拿呀。
      

  9.   

    对不起!!!!!emu(ston) 哥哥我不懂游戏规则!我菜得不能够再菜了!!衷心的谢谢您不厌其烦的为我引路!祝你万一如意!大恩不言谢!!!
      

  10.   

    “把输入的字符传到新开窗口的页面中去”是为了什么呢?
    如果为了把数据发给一个服务程序,可以用
    http://www.csdn.net/expert/topic/1061/1061875.xml?temp=.8957025
    的方法