C# 对象没有';在jquery mvc4中不支持此属性 @Scripts.Render(“~/bundles/jquery”、“~/bundles/jqueryui”、“~/bundles/WorkbenchScripts”) @样式。渲染(“~/Content/workbenchcs”) $(文档).ready(函数(){ 选中SpecialChars(“#txtCreateSet”); $('#btnCancelSet')。单击(函数(e){ window.close(); }); }); //此函数用于仅允许函数中的特定字符 功能检查专用卡(textboxID){ 调试器; 返回textboxID.each ( 函数(){ var allowedChars=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”; allowedChars+=“ABCDEFGHIJKLMNOPQRSTUVXYZ”; allowedChars+=“0123456789”; allowedChars+=“”;//空格 //检查是否尝试为名称字段指定允许的特殊字符 allowedChars+=“-”; //按键 $(textboxID).按键(功能(e){ var keyUniCode=!e.charCode?e.which:e.charCode; var charValue=String.fromCharCode(keyUniCode); if(keyUniCode!=13){ if(允许字符索引Of(字符值)=-1) e、 预防默认值(); } }); //粘贴 $(textboxID).bind('paste',函数(e){ setTimeout(函数(){ var newText=textboxID.val(); $.each(新文本,函数(i){ if(allowedChars.indexOf(newText.charAt(i))=-1) {textboxID.val(textboxID.val().replace(newText.charAt(i),'');} }); }, 1); }); } ); }; @Label(“创建集”) @Html.TextBoxFor(model=>model.SetName,新的{id=“txtCreateSet”})
在上面的代码中,我得到错误“对象不支持此属性”,我使用的是MVC4,这里我在mvc视图中编写了代码,在文本框中只允许使用0-9 a-z a-z-_和空格字符。我哪里做错了?有人能帮我得到所需的解决方案吗?这是因为您将选择器字符串传递给函数,而不是对象 请看这里:C# 对象没有';在jquery mvc4中不支持此属性 @Scripts.Render(“~/bundles/jquery”、“~/bundles/jqueryui”、“~/bundles/WorkbenchScripts”) @样式。渲染(“~/Content/workbenchcs”) $(文档).ready(函数(){ 选中SpecialChars(“#txtCreateSet”); $('#btnCancelSet')。单击(函数(e){ window.close(); }); }); //此函数用于仅允许函数中的特定字符 功能检查专用卡(textboxID){ 调试器; 返回textboxID.each ( 函数(){ var allowedChars=“ABCDEFGHIJKLMNOPQRSTUVWXYZ”; allowedChars+=“ABCDEFGHIJKLMNOPQRSTUVXYZ”; allowedChars+=“0123456789”; allowedChars+=“”;//空格 //检查是否尝试为名称字段指定允许的特殊字符 allowedChars+=“-”; //按键 $(textboxID).按键(功能(e){ var keyUniCode=!e.charCode?e.which:e.charCode; var charValue=String.fromCharCode(keyUniCode); if(keyUniCode!=13){ if(允许字符索引Of(字符值)=-1) e、 预防默认值(); } }); //粘贴 $(textboxID).bind('paste',函数(e){ setTimeout(函数(){ var newText=textboxID.val(); $.each(新文本,函数(i){ if(allowedChars.indexOf(newText.charAt(i))=-1) {textboxID.val(textboxID.val().replace(newText.charAt(i),'');} }); }, 1); }); } ); }; @Label(“创建集”) @Html.TextBoxFor(model=>model.SetName,新的{id=“txtCreateSet”}),c#,jquery,asp.net-mvc,asp.net-mvc-4,razor,C#,Jquery,Asp.net Mvc,Asp.net Mvc 4,Razor,在上面的代码中,我得到错误“对象不支持此属性”,我使用的是MVC4,这里我在mvc视图中编写了代码,在文本框中只允许使用0-9 a-z a-z-_和空格字符。我哪里做错了?有人能帮我得到所需的解决方案吗?这是因为您将选择器字符串传递给函数,而不是对象 请看这里: @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryui", "~/bundles/WorkbenchScripts") @Styles.Render("~/Content/Work
@Scripts.Render("~/bundles/jquery", "~/bundles/jqueryui", "~/bundles/WorkbenchScripts")
@Styles.Render("~/Content/WorkbenchCss")
<script type="text/javascript">
$(document).ready(function () {
checkSpecialChars('#txtCreateSet');
$('#btnCancelSet').click(function (e) {
window.close();
});
});
//this function is used to allow only specific characters in function
function checkSpecialChars(textboxID) {
debugger;
return textboxID.each
(
function () {
var allowedChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
allowedChars += "abcdefghijklmnopqrstuvwxyz";
allowedChars += "0123456789";
allowedChars += " "; //Space
//Check if try to specifying allowed special characters for Name fields
allowedChars += "-_";
//on keypress
$(textboxID).keypress(function (e) {
var keyUniCode = !e.charCode ? e.which : e.charCode;
var charValue = String.fromCharCode(keyUniCode);
if (keyUniCode != 13) {
if (allowedChars.indexOf(charValue) == -1)
e.preventDefault();
}
});
//On paste
$(textboxID).bind('paste', function (e) {
setTimeout(function () {
var newText = textboxID.val();
$.each(newText, function (i) {
if (allowedChars.indexOf(newText.charAt(i)) == -1)
{ textboxID.val(textboxID.val().replace(newText.charAt(i), '')); }
});
}, 1);
});
}
);
};
</script>
<table>
<tr>
<td>
@Html.Label("Create Set")
</td>
<td>
@Html.TextBoxFor(model => model.SetName, new { id = "txtCreateSet" })
</td>
</tr>
<table>
这意味着当您执行以下操作时,您将得到该错误,因为字符串上没有每个
方法:
checkSpecialChars('#txtCreateSet');
尝试以下操作,传递jQuery对象:
return textboxID.each
很多时候,你能告诉我checkSpecialChars(“#txtCreateSet”)和checkSpecialChars($(“#txtCreateSet'))之间有什么区别吗?将它包装在
$()
中意味着你告诉jQuery去获取与字符串选择器匹配的所有内容。在您的情况下,获取ID为txtCreateSet
的所有内容(#
表示在ID上搜索)。如果没有$()
,它实际上只是字符串#txtCreateSet
checkSpecialChars($('#txtCreateSet'));