这是我的表单的HTML。将表单输入写入全局变量的更好方法?
<body>
<form onsubmit="return handleSubmit(this)" id="form1">
<h1>Choose your words!</h1>
<fieldset>
<label>First Noun: <input type="text" name="noun1" ></label><br>
<label>Second Noun: <input type="text" name="noun2"></label><br>
<label>First Adjective: <input type="text" name="adjective1"></label><br>
<label>Second Adjective: <input type="text" name="adjective2"></label><br>
<label>First Verb: <input type="text" name="verb1"></label><br>
<label>Second Verb: <input type="text" name="verb2"></label><br>
</fieldset>
<button type="submit" id="pushMe">Create Mad Lib</button>
</form>
<div id="placeholder">
</div>
这里是当我按下按钮时运行的功能。变量是在此函数之上声明的全局变量,没有值。示例var noun1;
function handleSubmit(form) {
noun1 = form.querySelector('input[name=noun1]').value;
noun2 = form.querySelector('input[name=noun2]').value;
adjective1 = form.querySelector('input[name=adjective1]').value;
adjective2 = form.querySelector('input[name=adjective2]').value;
verb1 = form.querySelector('input[name=verb1]').value;
verb2 = form.querySelector('input[name=verb2]').value;
return false;
}
有没有更好的方式让我的表单输入写入我的全局变量以便稍后写入网页?
为什么你使用全局变量? – Bergi
我正在使用另一个函数将全局变量的值写入DOM,所以我认为我不能将我的变量放在函数中... – maxwelldem
这是真的,您不能使它们成为'handleSubmit'函数的本地。但这并不意味着它们应该是全球性的。在两个函数都可以访问的作用域中声明变量。 – Bergi