根据文本的存在定位文本并执行操作

时间:2009-06-01 20:35:11

标签: javascript jquery

我正在尝试学习jQuery,但它的发展很慢,因为我真的不知道任何JavaScript。

我的网站是在VB.NET中,我将jQuery代码放在我的实际.ascx UserControl和单独的文件(类似myscripts.js)中。这是因为我正在使用webforms,因为我仍然不太了解MVC,所以我必须在页面上获取clientID。

我想做的是以下内容:

  1. 从文本框中抓取文本并将其全部小写
  2. 从登录信息中获取用户名。我在我的实际页面上这样做了:

    var userName = "<%=Split(System.Web.HttpContext.Current.User.Identity.Name.ToLowerInvariant, '|')%>";
    
  3. 检查用户名是否在文本中。如果它在文本中,我想将变量设置为“false”,否则设置为true。

  4. 我该怎么做?

6 个答案:

答案 0 :(得分:4)

我完全不了解它的ASP.NET方面,但就jQuery和Javascript而言......

要获取文本字段的值,请使用jQuery函数val()

var value = $('#mytextbox').val();

要将字符串转换为小写,请使用字符串方法toLowerCase()

var value = $('#mytextbox').val().toLowerCase();

由于val()返回一个字符串,我们可以在最后抛出它。

要检查字符串是否在另一个字符串中,请使用字符串方法indexOf()

var needle = 'Hello';
var haystack = 'Hello World';
var match = haystack.indexOf(needle); // -1 if no matches, 0 in this case

答案 1 :(得分:1)

var userName = "username as it comes out of your web app";

// stuff happens

var $myTextbox = $('#ID_of_textbox');
var userNameIsContained = $myTextbox.val().toLowerCase().indexOf(userName) >= 0;

简短说明:

$('#ID_of_textbox')  // fetches the jQuery object corresponding to your textbox
.val()               // the jQuery function that gets the textbox value
.toLowerCase()       // self explanatory
.indexOf()           // returns the position of a string in a string (or -1)

请参阅JavaScript String object reference at w3schools

替代方法(检查文本框值是否等于用户名):

var userNameIsEqual = $myTextbox.val().toLowerCase() == userName;

答案 2 :(得分:1)

要记住的另一件事是ASP.NET重命名所有控件ID。要在JavaScript中访问您的控件,您应该使用以下代码来代替Control ID&lt;%= txtUserName.ClientID%&gt;。

在jQuery中,这是我的选择器对于ID为“txtUserName”的文本框的样子。

$('#&lt;%= txtUserName.ClientID%&gt;')

享受,

扎克

答案 3 :(得分:0)

JQuery的基础知识是这样的:查找dom元素列表,并对它们执行操作。

在您的情况下,您应该首先找到作为测试框的dom元素。例如,我们选择$('#userName')。选择器#表示“id”,与名称“userName”一起,它找到id为“userName”的所有元素。 (如果您遵循最佳实践,页面上的ID应该是唯一的。)

一旦你有了这个清单(在这种情况下,是一个元素的清单),你可以问它是什么价值。
$( '#用户名')。VAL()

这可以获得输入标记的value =“”属性的值。

然后,您可以将其分配给变量并使用标准的javascript字符串函数来完成剩下的工作!

答案 4 :(得分:0)

function checkLogin(userName){
    return $('#mytextbox').val().toLowerCase() == userName
}

答案 5 :(得分:0)

if ($("#textBoxID").val()) != "") { /*Do stuff*/ }