呼叫功能按回车键或点击按钮



我想在按回车键或按按钮时调用 JavaScript 函数。另外,我希望函数检索值。

这是我的表格:

    <form>
      Farm Number:<br>
      <input id="fnumber" type="text" value="" onKeyDown="findfarm2(event)">  
      <input type="button" value="Find Farm" onclick="findfarm();">	
    </form>

这是我的JavaScript函数:

function findfarm2(event) {
		if (event.keyCode == 13){
		cqlfilter = 'Farm =' + document.getElementById('fnumber').value;		
		unregistered.getSource().updateParams({'LAYERS': 'NCSPCTest:Unreported_Names','CQL_FILTER': cqlfilter});		
		alert(cqlfilter)
		}
		}
		
function findfarm() {
		cqlfilter = 'Farm =' + document.getElementById('fnumber').value;		
		unregistered.getSource().updateParams({'LAYERS': 'NCSPCTest:Unreported_Names','CQL_FILTER': cqlfilter});
		alert(cqlfilter)
		}	

按钮工作,但输入功能不工作。"findfarm2"函数可以弹出警报,但它不会将值传递给"updateParams"。

您的函数 (findfarm2( 不起作用,因为当您按 ENTER 按钮(键码 = 13(时,您的表单正在提交。

<form id="form" active="#">
    <!-- get value (using parameters) -->
    <input id="first" type="text" value="" onkeydown="find(event, this.value)">
    <input id="last" type="button" value="Find Farm" onclick="findfarm();">
</form>
<script type="text/javascript">
    document.querySelector('#form').addEventListener('submit', function(e) {
        e.preventDefault(); //  stop form from submitting
        console.log('You need stop form from submitting!')
    });
    function find(e, val) {
        if (e.keyCode == 13) {
            console.log('enter')
        }
        var value = document.getElementById('first').value;
        console.log('My value (using getElementById)' , value)
        console.log('My value (using parameters)' , val)
        // resume your code here...
    }
    function findfarm() {
        console.log('Find Farm clicked!');
    }
</script>

最新更新