Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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/79.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一个输入字段连接多个函数_Javascript_Html - Fatal编程技术网

javascript一个输入字段连接多个函数

javascript一个输入字段连接多个函数,javascript,html,Javascript,Html,我对编程很陌生,有一些问题。 我想创建一个表单(html和javascript),在那里我可以做一些计算。这是关于数字和年份的。所以首先我需要输入字段,在这里我可以输入年份(比如2013年)。该输入值将连接到多个功能: 计算与当年的差异(如果我要求2018年,则应写5,或者如果我要求2000年,则应写-13,依此类推……) 检查年份是否为闰年(正确/错误或是/否,…) 计算我要求的数字之和(2018=11,2013=6,…) 如果数字是素数(真/假,是/否,…) 反向编号(2013=3102,2

我对编程很陌生,有一些问题。 我想创建一个表单(html和javascript),在那里我可以做一些计算。这是关于数字和年份的。所以首先我需要输入字段,在这里我可以输入年份(比如2013年)。该输入值将连接到多个功能:

  • 计算与当年的差异(如果我要求2018年,则应写5,或者如果我要求2000年,则应写-13,依此类推……)
  • 检查年份是否为闰年(正确/错误或是/否,…)
  • 计算我要求的数字之和(2018=11,2013=6,…)
  • 如果数字是素数(真/假,是/否,…)
  • 反向编号(2013=3102,2018=8102,…)
  • 显示中国十二生肖的年份
  • 将年份转换为罗马数字(1=I,2=II,10=X,…)
  • 我确实找到了一些函数,但我就是不能把它们放在一起。 如果有人能帮上忙,我会很有帮助的

    我在互联网上找到的例子:

    function isleap() {
        var yr = document.getElementById("year").value;
        if ((parseInt(yr) % 4) == 0) {
            if (parseInt(yr) % 100 == 0) {
                if (parseInt(yr) % 400 != 0) {
                    alert("Not Leap");
                    return "false";
                }
                if (parseInt(yr) % 400 == 0) {
                    alert("Leap");
                    return "true";
                }
            }
            if (parseInt(yr) % 100 != 0) {
                alert("Leap");
                return "true";
            }
        }
        if ((parseInt(yr) % 4) != 0) {
            alert("Not Leap");
            return "false";
        }
    }
    
    反向:

    <script type="text/javascript">
        var year, b = 0;
        year= parseInt(prompt("Enter year: "));
    
        document.write("You've entered: " + year+ "<br />");
        while(year> 0) {        
            b = b * 10
            b = b + parseInt(year% 10)
            year= parseInt(year/ 10)
        }
        document.write("Reverse numbers: ", b);
    
    </script>
    
    
    var年,b=0;
    year=parseInt(提示(“输入年份:”);
    文档。写入(“您已输入:“+年+”
    ); 而(年份>0){ b=b*10 b=b+parseInt(第10年) 年份=parseInt(年份/10) } 文件。填写(“反向编号:”,b);
    总数:

    <script>
    function find() {
        var sum = 0;
        var no = parseInt(frm.txt1.value);
        while (no > 0) {
            sum = sum + no % 10;
            no = Math.floor(no / 10);
        }
        alert("Sum of digits  " + sum);
    }
    </script>
    
    <form name="frm">
        Enter a Number:<input name="txt1" type="text" />
        <input name="b1" onClick="find();" type="button" value="display" />
    </form>
    
    
    函数find(){
    var总和=0;
    var no=parseInt(frm.txt1.value);
    而(否>0){
    总和=总和+否%10;
    否=数学楼层(no/10);
    }
    警报(“数字总和”+总和);
    }
    输入一个数字:
    
    
    你可以这样打电话
    或
    函数callAllFunctions(){
    功能1();
    函数2();
    }
    
    
    你可以这样打电话
    或
    函数callAllFunctions(){
    功能1();
    函数2();
    }
    
    您只需创建一个调用其他函数的函数,然后将其设置为表单的onclick函数

    function processData(){
        function1();
        function2();
        function3();
    
    }
    
    <input name="b1" onClick="processData();" type="button" value="display" />
    
    函数processData(){
    功能1();
    函数2();
    功能3();
    }
    

    使用类似PSR建议的逗号分隔不同的函数调用也可以,但我认为这样的结果更好,因为它可以保持标记相对干净,并允许您根据需要更改脚本中的逻辑,而无需直接编辑标记或根据需要添加函数。如果需要,您还可以通过这种方式将一个函数的结果直接传递给另一个函数。

    您只需创建一个函数来调用其他每个函数,然后将其设置为表单的onclick函数

    function processData(){
        function1();
        function2();
        function3();
    
    }
    
    <input name="b1" onClick="processData();" type="button" value="display" />
    
    函数processData(){
    功能1();
    函数2();
    功能3();
    }
    

    使用类似PSR建议的逗号分隔不同的函数调用也可以,但我认为这样的结果更好,因为它可以保持标记相对干净,并允许您根据需要更改脚本中的逻辑,而无需直接编辑标记或根据需要添加函数。如果需要,您还可以通过这种方式将一个函数的结果直接传递给另一个函数。

    我将使用输入参数定义独立于表单的函数。然后,只需将该参数传递给每个函数,并根据需要显示结果

    <script type="text/javascript">
    function isLeap(yr) {
        if ((parseInt(yr) % 4) == 0) {
            if (parseInt(yr) % 100 == 0) {
                if (parseInt(yr) % 400 != 0) {
                    return "false";
                }
                if (parseInt(yr) % 400 == 0) {
                    return "true";
                }
            }
            if (parseInt(yr) % 100 != 0) {
                return "true";
            }
        }
        if ((parseInt(yr) % 4) != 0) {
            return "false";
        }
    }
    
    function reverse(year) {
        var b = 0;
        year = parseInt(year);
        while (year > 0) {
            b = b * 10
            b = b + parseInt(year % 10)
            year = parseInt(year / 10)
        }
        return b;
    }
    
    function sum(no) {
        var sum = 0;
        while (no > 0) {
            sum = sum + no % 10;
            no = Math.floor(no / 10);
        }
        return sum;
    }
    
    function outputData() {
        var year = form.year.value;
        alert("Is leap: " + isLeap(year));
        alert("Reversed: " + reverse(year));
        alert("Sum: " + sum(year));
    }
    </script>
    
    <form name="form">
        Enter a Number:<input name="year" type="text" />
        <input name="b1" onClick="outputData();" type="button" value="display" />
    </form>
    
    
    功能isLeap(年){
    如果((parseInt(yr)%4)==0){
    如果(parseInt(yr)%100==0){
    如果(parseInt(yr)%400!=0){
    返回“false”;
    }
    如果(parseInt(yr)%400==0){
    返回“真”;
    }
    }
    如果(parseInt(yr)%100!=0){
    返回“真”;
    }
    }
    如果((parseInt(yr)%4)!=0){
    返回“false”;
    }
    }
    功能反转(年){
    var b=0;
    年=parseInt(年);
    而(年份>0){
    b=b*10
    b=b+parseInt(第10年)
    年份=parseInt(年份/10)
    }
    返回b;
    }
    函数和(否){
    var总和=0;
    而(否>0){
    总和=总和+否%10;
    否=数学楼层(no/10);
    }
    回报金额;
    }
    函数outputData(){
    var year=form.year.value;
    警报(“Is leap:+isLeap(年));
    警报(“反转:+反转(年));
    警报(“总和:+总和(年));
    }
    输入一个数字:
    
    我将使用输入参数定义独立于表单的函数。然后,只需将该参数传递给每个函数,并根据需要显示结果

    <script type="text/javascript">
    function isLeap(yr) {
        if ((parseInt(yr) % 4) == 0) {
            if (parseInt(yr) % 100 == 0) {
                if (parseInt(yr) % 400 != 0) {
                    return "false";
                }
                if (parseInt(yr) % 400 == 0) {
                    return "true";
                }
            }
            if (parseInt(yr) % 100 != 0) {
                return "true";
            }
        }
        if ((parseInt(yr) % 4) != 0) {
            return "false";
        }
    }
    
    function reverse(year) {
        var b = 0;
        year = parseInt(year);
        while (year > 0) {
            b = b * 10
            b = b + parseInt(year % 10)
            year = parseInt(year / 10)
        }
        return b;
    }
    
    function sum(no) {
        var sum = 0;
        while (no > 0) {
            sum = sum + no % 10;
            no = Math.floor(no / 10);
        }
        return sum;
    }
    
    function outputData() {
        var year = form.year.value;
        alert("Is leap: " + isLeap(year));
        alert("Reversed: " + reverse(year));
        alert("Sum: " + sum(year));
    }
    </script>
    
    <form name="form">
        Enter a Number:<input name="year" type="text" />
        <input name="b1" onClick="outputData();" type="button" value="display" />
    </form>
    
    
    功能isLeap(年){
    如果((parseInt(yr)%4)==0){
    如果(parseInt(yr)%100==0){
    如果(parseInt(yr)%400!=0){
    返回“false”;
    }
    如果(parseInt(yr)%400==0){
    返回“真”;
    }
    }
    如果(parseInt(yr)%100!=0){
    返回“真”;
    }
    }
    如果((parseInt(yr)%4)!=0){
    返回“false”;
    }
    }
    功能反转(年){
    var b=0;
    年=parseInt(年);
    而(年份>0){
    b=b*10
    b=b+parseInt(第10年)
    年份=parseInt(年份/10)
    }
    返回b;
    }
    函数和(否){
    var总和=0;
    而(否>0){
    总和=总和+否%10;
    否=数学楼层(no/10);
    }
    回报金额;
    }
    函数outputData(){
    var year=form.year.value;
    警报(“Is leap:+isLeap(年));
    警报(“反转:+反转(年));
    警报(“总和:+总和(年));
    }
    输入一个数字:
    
    我使用jQuery作为我的抽象库,这被认为是一种最佳实践——非常简单

    输入如下:

    您可以像这样使用:

    $('b1')。在('click',函数(事件){
    警报(“我被点击”);
    });

    $('b1')。在('click',函数(事件){
    警惕(“我也听到咔嗒声”);
    });

    您可以调用任何函数:

    $('b1')。在('click',isLeap')

    请不要忘记在页面上包含jQuery和以下代码片段:


    这被认为是一种最佳实践,