在jquery中检索值

时间:2014-05-27 17:44:33

标签: jquery

var $form = $(' <form id="login"> </form> ');
$form.append('<label id="datakeylbl" for="datakey"> Enter Datakey');
$form.append('<input type="text" name="datakey" id="datakey"/>');
$form.append('<input type="submit" value="Login In" />');
$("#main").append($form);

var data = $("#datakey").val();

不确定数据为何无法获取datakey中文本的值 文本框。

4 个答案:

答案 0 :(得分:1)

数据值在加载时将为空。你应该尝试这样的东西来获得价值。

<强>的jsfiddle:

<强> http://jsfiddle.net/G5ezv/

var $form = $(' <form id="login"> </form> ');
$form.append('<label id="datakeylbl" for="datakey"> Enter Datakey');
$form.append('<input type="text" name="datakey" id="datakey"/>');
$form.append('<input type="submit" value="Login In" />');
$("#main").append($form);

$("#login").on("submit",function(){
    var data = $("#datakey").val();    
    console.log(data);
});

答案 1 :(得分:0)

尝试这样的事情

var data = "";

$( "#datakey" ).keyup(function() {
  data = $(this).val();
});

答案 2 :(得分:0)

我更新了你的代码,它运行正常:

var $form = $('<form id="login"/>').append(
    '<label id="datakeylbl" for="datakey">Enter Datakey</label>',
    '<input type="type" name="datakey" id="datakey"/>',
    '<input type="submit" value="Login"/>'
).appendTo('#main').on('submit', function (event) {
    //-- prevent the form from submitting
    event.preventDefault();
    //-- grab the data from the text field
    var data = $("#datakey").val();
    //-- alert the data for troubleshooting
    alert(data);
});

我做了以下更改:

  1. 我将代码合并为一个append()调用,而不是多次调用。
  2. 我将您的data代码添加到了submit个活动中。

答案 3 :(得分:0)

如果您的代码与您发布的内容完全相同,那么您将附加表单并立即获取字段值。这样,该字段将为空。

您可以尝试下面的代码吗?我做了一些小改动,它显示了&#34;数据键&#34;值仅在&#34;登录&#34;被击中:

var $form = $(' <form id="login"> </form> ');
$form.append('<label id="datakeylbl" for="datakey"> Enter Datakey');
$form.append('<input type="text" name="datakey" id="datakey"/>');
$form.append('<input type="submit" id="login-button" value="Login In" />');
$("#main-form").append($form);

$('#login-button').click( function()
{
    var data = $("#datakey").val();
    alert( data );
    return false;
});

如果您提供更多详细信息,我可以为您提供更多帮助。