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中文本的值 文本框。
答案 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);
});
我做了以下更改:
append()
调用,而不是多次调用。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;
});
如果您提供更多详细信息,我可以为您提供更多帮助。