无法检索用户输入
Cannot Retrieve User Input
所以基本上我正在尝试创建一个更具交互性的日期选择器。我首先允许用户输入他们的名字来做到这一点。一旦他们点击提交,它现在应该说...您好"用户名"。
但是由于某种原因,我使用的 if else 语句将不起作用。我已经查看了我的代码,它似乎是正确的,但用户输入不会打印出来。它还应该检查输入是否是字符串,它将继续。如果它不是字符串,比如数字,它会输出到屏幕上......"你必须告诉我们你的名字才能继续前进!"如何在用户输入的任何内容上使用 if else 语句?有人可以查看我的代码并帮助我吗?我环顾四周,一无所获。也许这是一个重复的,或者我完全错误地这样做了,我只是不确定。谢谢你的帮助。使它更好的建议也将不胜感激!:)
该网页:
<!DOCTYPE html>
<html>
<head>
<title>Going On Vacation!</title>
<link type="text/css" rel="stylesheet" href="stylesheet.css"/>
</head>
<body>
<h1>Heading Somewhere?</h1>
<div id="main">
<h2>What is your name?</h2>
<input id="name" type= "text" placeholder=" Tell us!">
<button id ="submit">Submit!</button>
</div>
<p id="user"></p>
<p id="when"></p>
<input id="date" placeholder="Choose your departure!">
<p id="error1"></p>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
JAVASCRIPT:
$('#date').hide();
function userName(){
var user_name = $('#name').val();
$('#submit').click(function(){
if(typeof user_name === 'string'){
$('#main').hide('slow');
document.getElementById("user").innerHTML = "Hello " + user_name + "!";
$('#user').css("margin-left", "641px");
$('#when').css("margin-left", "598px");
document.getElementById("when").innerHTML = "When are you leaving?";
$('#date').show();
$('#date').datepicker();
} else {
document.getElementById("error1").innerHTML = "You must tell us your name to move on!";
}
});
};
$(document).ready(userName);
它不起作用,因为您在用户填写用户名字段之前正在读取它!
var user_name = $('#name').val();
该行需要在提交方法中。
其次,检查类型没有意义。您要检查长度。
$('#submit').click(function(){
var user_name = $.trim($('#name').val());
if(user_name.length>0){
user_name不在
范围之内。只需将用户声明 var 移动到提交事件内部:
function userName(){
$('#submit').click(function(){
var user_name = $('#name').val();
if(typeof user_name === 'string'){
$('#main').hide('slow');
document.getElementById("user").innerHTML = "Hello " + user_name + "!";
$('#user').css("margin-left", "641px");
$('#when').css("margin-left", "598px");
document.getElementById("when").innerHTML = "When are you leaving?";
$('#date').show();
$('#date').datepicker();
} else {
document.getElementById("error1").innerHTML = "You must tell us your name to move on!";
}
});
};
如果你不想jQuery在每次用户点击提交时在DOM中查找对象。可以在范围之外找到对象,但必须在提交事件中检索值。例:
...
var userObj = $('#name');
$('#submit').click(function(){
var user_name = userObj.val();
...
相关文章:
- 使用javascript搜索具有用户输入的数组
- React Native通过Navigator将用户输入数据传递到选项卡栏IOS中的组件
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何使用JavaScript中的用户输入创建序列/序列
- 如何在用户输入时实例化数组
- 如何从客户端的数组中获取用户输入和返回值
- 如何在用户输入 javascript 时更改值
- 如何从多个不同的html页面获得mongodb文档的用户输入
- 阻止用户将脚本输入wordpress post
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 从表单中获取用户输入执行计算(操作顺序)并输出回该表单
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 用于输入用户信息的动态PHP代码
- 在MongoDB中输入用户名数组,并返回相同大小的id数组,对于不存在的用户名为null或false
- 如何通过文本字段输入用户数据,然后在文本字段的正下方显示
- 脚本自动输入用户凭据
- 如何获取用户文本输入用户创建输入的值,jQuery
- 在网站服务器上存储表单/输入/用户首选项数据有哪些不同的方法?
- 使用if语句输入用户文本
- 不能在indexedDB中输入用户信息后立即提取用户信息