如何调用未知的“onChange”来自其他函数的函数
如果标题不太清楚,我很抱歉,但我不知道如何做得更精确。
我有这样的代码:
<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 字段中显示“艾萨克·牛顿”。我只能修改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 个不同类型的字段:选择、文本和文本区域。
有没有办法从我的 onchange 函数加载这个动态代码?
我可以访问字段的名称,所以我想做一些类似的事情:
function p1() {
code + name.Onchange;
}
有可能吗?我不知道正确的语法。
我还尝试使用 focus()、click()、select() 和 Blur() 方法,但它们不会向 Javascript 传达已进行更改的信息。
I'm sorry if the title is not too clear but I didn't know how to do it more precise.
I have this code:
<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>
I need to show "Isaac Newton" in the f1 field when write something in f2. I only can modify the p1 function. I don't know the name of the p1 functions, even it is changed every time the page is loaded.
Thanks.
Thanks for the answer. The real input fields are like this:
<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]');">
And I have 10 fields of different types: select, text and textarea.
Is there a way to load this dynamic code, from my onchange function?
I can access the name of the fields so I want to do something like:
function p1() {
code + name.Onchange;
}
It is possible? I don't know the correct syntax.
I also tried with the focus(),click(),select() and blur()
methods, but they don't communicate Javascript that a change was made.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题是当您执行
document.getElementById('f1').value = 'Isaac';
时,onChange 事件不会触发。因此,进行以下更改,您应该会很好:The problem is the onChange event does not fire when you do
document.getElementById('f1').value = 'Isaac';
. So make these following changes and you should be good:没关系。
我使用 regEx 加载参数并从 p1 函数内部调用函数 p2。
通话看起来像这样。
其中 tconv、idconv 和 camconv 是 regEx 查询的结果。
No matters.
I used regEx to load the parameters and call the function p2 from inside the p1 function.
The call looks like this.
Where tconv, idconv, and camconv are the results of the regEx queries.