這是我的表單的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