如果标题不太清楚我很抱歉,但我不知道如何更精确地做到这一点。
我有这段代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>Test</title>
<script type="text/javascript">
function p1() {
document.getElementById('f1').value = 'Isaac';
}
function p2() {
x=document.getElementById('f1');
x.value += ' Newton';
}
</script>
</head>
<body>
<form action="" method="get">
<input type="text" id="f1" name="f1" onChange="p2()">
<input type="text" id="f2" name="f2" onChange="p1()">
<input type="submit" value=">">
</form>
</body>
</html>
在f2中写一些内容时,我需要在f1字段中显示“Isaac Newton”。我只能修改p1功能。我不知道p1函数的名称,即使每次加载页面都会更改它。
感谢。
感谢您的回答。真正的输入字段是这样的:
<input type="text" id="tceforms-textfield-4e20ac55d3700" class="formField tceforms-textfield" name="data[tx_oriconvocatorias_publicadas][NEW4e20ac55cdc8f][cnom]_hr" value="" style="width: 460px; " maxlength="255" onchange="typo3form.fieldGet('data[tx_oriconvocatorias_publicadas][NEW4e20ac55cdc8f][cnom]','required,trim,tx_oriconvocatorias_autoLlenar','',1,'');TBE_EDITOR.fieldChanged('tx_oriconvocatorias_publicadas','NEW4e20ac55cdc8f','cnom','data[tx_oriconvocatorias_publicadas][NEW4e20ac55cdc8f][cnom]');">
我有10个不同类型的字段:select,text和textarea。
有没有办法从我的onchange函数加载这个动态代码?
我可以访问字段的名称,所以我想做类似的事情:
function p1() {
code + name.Onchange;
}
有可能吗?我不知道正确的语法。
我也尝试使用focus(),click(),select() and blur()
方法,但他们没有通知Javascript进行了更改。
答案 0 :(得分:0)
问题是执行document.getElementById('f1').value = 'Isaac';
时onChange事件不会触发。因此,进行以下更改,您应该做得很好:
<input type="text" id="f1" name="f1">
<input type="text" id="f2" name="f2" onChange="p1();p2()">
答案 1 :(得分:0)
没问题。
我使用regEx加载参数并从p1函数内部调用函数p2。
电话看起来像这样。
function p1(){
//...
typo3form.fieldGet('data['+tconv+']['+idconv+']['+camconv[c]+']','','',1,'');
TBE_EDITOR.fieldChanged(tconv,idconv,camconv[c]);
//...
}
其中tconv,idconv和camconv是regEx查询的结果。