Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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
jQuery22中的代码有什么问题_Jquery - Fatal编程技术网

jQuery22中的代码有什么问题

jQuery22中的代码有什么问题,jquery,Jquery,你能看到这个代码有什么问题吗?我有一个表单,有两个输入文本框和两个提交按钮,当用户单击第二个按钮时 它应该列出以字母“J”开头的所有月份,但由于某些原因,它不会运行 <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>submit demo</title> <style> p { margin: 0; color: blue;

你能看到这个代码有什么问题吗?我有一个表单,有两个输入文本框和两个提交按钮,当用户单击第二个按钮时

它应该列出以字母“J”开头的所有月份,但由于某些原因,它不会运行

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>submit demo</title>
<style>
p {
margin: 0;
color: blue;
}
div,p {
margin-left: 10px;
}
span {
color: red;
}
</style>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<p>Type 'correct' to validate.</p>
<form action="javascript:alert( 'success!' );">
<div>
<input type="text"  >
<input type="text" id ='months' >


<input type="submit"  >

<input type="submit"  id ="other" >
</div>
</form>
<span></span>
<script>
$( "form" ).submit(function( event ) {
if ( $( "input:first" ).val() === "correct" ) {
$( "span" ).text( "Validated..." ).show();
return;
}
$( "span" ).text( "Not valid!" ).show().fadeOut( 1000 );
event.preventDefault();
});


    $(document). ready(function() {


      $( "#other" ).click(function() {


        var months = [  'January', 'February', 'March', 'April', 'May',
                        'June', 'July', 'August', 'September', 'October',
                        'November', 'December'];
        months = $.grep(months, function(value, i) {
            return ( value.indexOf('J') == 0 );
        });
        $(' #months').html( '<li>' + months.join('</li><li>') + '</li>' );
    });
})



</script>
</body>
</html>

提交演示
p{
保证金:0;
颜色:蓝色;
}
分区,p{
左边距:10px;
}
跨度{
颜色:红色;
}
键入“correct”进行验证

$(“表格”)。提交(功能(事件){ 如果($(“输入:第一个”).val()=“正确”){ $(“span”).text(“已验证…”)。show(); 返回; } $(“span”).text(“无效!”).show().fadeOut(1000); event.preventDefault(); }); $(文件)。就绪(函数(){ $(“#其他”)。单击(函数(){ var月数=['一月'、'二月'、'三月'、'四月'、'五月', ‘六月’、‘七月’、‘八月’、‘九月’、‘十月’, “11月”、“12月”]; 月份=$.grep(月份,函数(值,i){ 返回值(value.indexOf('J')==0); }); $(“#months”).html(“
  • ”+months.join(“
  • ”)+“
  • ”); }); })
    我修复了您的代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>submit demo</title>
        <style>
            p {
                margin: 0;
                color: blue;
            }
            div,p {
                margin-left: 10px;
            }
            span {
                color: red;
            }
        </style>
        <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    </head>
    <body>
        <p>Type 'correct' to validate.</p>
        <form action="javascript:alert( 'success!' );">
            <div>
                <input type="text"  >
                <input type="text" id ='months' >
    
                <input type="submit"  >
                <input type="submit"  id ="other" >
            </div>
        </form>
        <span></span>
        <ul id="m"></ul>
        <script>
            $(document). ready(function() {
                $( "form" ).submit(function( event ) {
                    event.preventDefault();
                    if ( $( "input:first" ).val() === "correct" ) {
                        $( "span" ).text( "Validated..." ).show();
                        return;
                    }
                    $( "span" ).text( "Not valid!" ).show().fadeOut( 1000 );
                });
    
                $( "#other" ).click(function() {
    
                    var months = [  'January', 'February', 'March', 'April', 'May',
                        'June', 'July', 'August', 'September', 'October',
                        'November', 'December'];
                    $(months).each(function() {
                        if(this.indexOf('J') === 0)
                            $("#m").html($("#m").html()+"<li>"+this+"</li>");
                    });
                });
            });
        </script>
    </body>
    
    
    提交演示
    p{
    保证金:0;
    颜色:蓝色;
    }
    分区,p{
    左边距:10px;
    }
    跨度{
    颜色:红色;
    }
    键入“correct”进行验证

      $(文件)。就绪(函数(){ $(“表格”)。提交(功能(事件){ event.preventDefault(); 如果($(“输入:第一个”).val()=“正确”){ $(“span”).text(“已验证…”)。show(); 返回; } $(“span”).text(“无效!”).show().fadeOut(1000); }); $(“#其他”)。单击(函数(){ var月数=['一月'、'二月'、'三月'、'四月'、'五月', ‘六月’、‘七月’、‘八月’、‘九月’、‘十月’, “11月”、“12月”]; $(月)。每个(功能(){ if(this.indexOf('J')==0) $(“#m”).html($(“#m”).html()+”
    • “+this+”
    • ”); }); }); });


      您应该在单击事件的第一行使用event.preventDefault(),在表迭代中使用jQuery函数each()

      为什么一些代码在
      $(文档)之外。ready()
      months
      是一个输入元素,而不是要使用的div/span
      html()
      请参见Woah,jQuery是否已经在版本号22上了?那时我一定在岩石下生活了一两个世纪。