var val()undefined javascript
问题描述:
<form>
<p>
<label>Username</label>
<input name="username" placeholder="Username" required="" type="text">
</p>
</form>
<script language="JavaScript" type="text/javascript">
var username=$("#username").val();
</script>
我已经阅读了很多与此问题相关的帖子,但是我还没有找到解决方案。var val()undefined javascript
我试着用萤火虫,给我:
username undefined
问题出在哪里?
答
因为您没有id
"username"
的元素。你有一个与name
"username"
。所以当你做$("#username")
时(因为没有匹配的元素),jQuery返回一个空集。当您在空集上调用val()
时,它将返回undefined
。
你可以改变你的领域有一个id
:
<input id="username" name="username" placeholder="Username" required="" type="text">
或者改变你的选择使用name
:
var username = $("input[name=username]").val();
答
#
是选择了ID,但是你不您的输入上没有ID。在此
<input name="username" placeholder="Username" id="username" required="" type="text">
战利品: 所以,你可以添加一个ID Id Selector
答
尝试通过name属性访问元素:
$('input[name=username]').val()
,或者如果你需要通过ID来访问,然后加入ID属性:
<input name="username" placeholder="Username" id="username" required="" type="text">
没有用户名输入。除此之外,你试图引用的输入也没有'value'属性。 – Sumurai8
@ Sumurai8:但它总会有一个非'undefined'的值。最初那个值是''“',但用户可能会填充其他东西。 –
尽管它不在处理程序中。但我明白你的意思。 – Sumurai8