Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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_Jquery - Fatal编程技术网

Javascript 获取未捕获错误:语法错误,无法识别的表达式

Javascript 获取未捕获错误:语法错误,无法识别的表达式,javascript,jquery,Javascript,Jquery,我正在尝试从下面粘贴的HTML中获取Contact_LastName的值,但出现以下错误 Uncaught Error: Syntax error, unrecognized expression: div #u1@g.com Javascript: $('.rdContact').off("click").on("click", function (e) { e.preventDefault();

我正在尝试从下面粘贴的HTML中获取
Contact_LastName
的值,但出现以下错误

Uncaught Error: Syntax error, unrecognized expression: div #u1@g.com
Javascript:

 $('.rdContact').off("click").on("click", function (e) {
                              e.preventDefault();
                              $(this).next("div").toggle();  

                              $('.btn-success').off('click').on('click', function (e) { 
                                 e.preventDefault();
                                 var divId = $(this).closest('div').parent().attr('id');
                                 var lnameval = $("div #"+ divId).closest('#Contact_LastName').val();
                                 alert(lnameval);  
                              });

                          });
HTML:

<input type="radio" class="rdContact" name="ContactGroup" value="u1@g.com" style="">

<div class="row" id="u1g.com" style="display: none;">
        <div class="col-md-6">

            <div class="form-group">
                <div class="col-md-3 control-label">
                    <label>Last Name:</label>
                </div>
                <div class="col-md-3">
                    <input class="form-control pr_input defaultText quiet reqrd" id="Contact_LastName" maxlength="50" name="ContactLastName" type="text" value="">
                </div>
            </div>

        </div>
        <div class="col-md-6">
            <div class="form-group">
                <div class="col-md-3 control-label">
                    <label>First Name:</label>
                </div>
                <div class="col-md-3">
                    <input class="form-control defaultText quiet reqrd" id="Contact_FirstName" maxlength="50" name="ContactFirstName" type="text" value="">
                </div>
            </div>               
        </div>


        <div class="modal-footer">                 
            <input type="button" value="Add Contact" id="btnSaveContact" class="btn btn-success">
            <input type="button" value="Cancel" id="btnCancelContact" class="btn btn-default">    
        </div>
    </div>

姓氏:
名字:

发生这种情况是因为
u1@g.com
不是元素ID的有效值,因此jQuery无法分析选择器

从:

ID和名称标记必须以字母([a-Za-z])开头,后面可以是任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“)、冒号(:”)和句点(“.”)

解决方案是为您的ID使用有效值

回复:您在下面的评论中,您得到了
未定义的
,因为您使用的是错误的(请按照该链接查找
最近的()
实际做了什么)

我敢打赌,您在页面的多个位置都有
id
联系人_LastName
,这是一个大问题,因为id必须是唯一的

我也很好奇,为什么选择
div并检索它的ID,只是为了在下一行中使用该ID重新选择它

不要使用当前的方法,而是消除重复的ID并使用以下方法:

$('.btn-success').off('click').on('click', function (e) { 
    e.preventDefault();
    var row = $(this).closest(".row");
    var lnameval = row.find("input[name='ContactLastName']").val();
    alert(lnameval);  
});

错误来自Sizzle,jQuery使用它来解析元素选择器


您的div有一个奇怪的id:
u1@g.com
。请尝试在不使用
@

的情况下使用ID。请参见“谢谢”。现在我没有得到错误,但是lnameval的值返回为未定义。谢谢。现在我没有得到错误,但是lnameval的值返回为未定义。您完全正确,我的页面中有多个“Contact_LastName”。因为这个表单是动态生成的,所以我需要首先获取父级,然后捕获firstname、lastname等等。你的方法很有效。非常感谢。