Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Oninput显示HTML代码(有条件)_Javascript_Html_Input_Numbers - Fatal编程技术网

Javascript Oninput显示HTML代码(有条件)

Javascript Oninput显示HTML代码(有条件),javascript,html,input,numbers,Javascript,Html,Input,Numbers,我正在创建一个HTML表单,在这个表单中,我希望为文本显示尽可能多的输入字段,只要它们选择一个数字输入即可。我要这个: <input type="number" name="syggrafei" oninput="showfield(this.options[this.selectedIndex].value)" /><div id="div1"></div> 还有Javascript: <script> function showfiel

我正在创建一个HTML表单,在这个表单中,我希望为文本显示尽可能多的输入字段,只要它们选择一个数字输入即可。我要这个:

<input type="number" name="syggrafei"  oninput="showfield(this.options[this.selectedIndex].value)" /><div id="div1"></div>

还有Javascript:

<script>
function showfield(value) {
    if (value == '1') {
        document.getElementById('div1').innerHTML = '<input type="text" name="syggrafea1" placeholder="S????af?a? 1" />';
    }
    else if (value == '2') {
        document.getElementById('div1').innerHTML = '<input type="text" name="syggrafea1" placeholder="S????af?a? 1" /><br /><input type="text" name="syggrafea2" placeholder="S????af?a? 2"/>';
    } else {
        document.getElementById('div1').innerHTML = '';
    }
}

函数显示字段(值){
如果(值='1'){
document.getElementById('div1')。innerHTML='';
}
else if(值='2'){
document.getElementById('div1')。innerHTML='
'; }否则{ document.getElementById('div1')。innerHTML=''; } }


我对Javascript还很陌生。有人能帮我把它写好吗?

type=number
没有选项,因此您的oninput无法工作。你只是想用

showfield(this.value)

首先,我认为最好使用“Onblur”而不是“oninput”,因为当用户完成更改时,它将执行该功能

然后,你可以很容易地使用“For”来制作你想要的东西。像这样,看:

<input id="myInput" onblur="showfield($(this).value)" />

以下是Javascript代码:

function showfield(value){
var data = '';
for ( i = 0 ; i < value ; i++ )
{
data += '<input type="text" name="syggrafea'+i+'" placeholder="Συγγραφέας '+i+'" />';
}
document.getElementById('div1').innerHTML=data;
}
函数显示字段(值){
var数据=“”;
对于(i=0;i

:)

在哪里定义了
value
呢?我想你指的是
函数显示字段(value)
而不是
函数显示字段(name)
谢谢。是的,这是函数显示字段(值)。也请尝试此
非常感谢您花时间帮助我!它起作用了!非常感谢你!比我的方法好多了。