「0」の値が渡された場合にエラーがスローされるフォームを作成しようとしています。私は困惑しており、本当に助けが必要です。このスクリプトには 2 つの関数があります。1 つ目は機能しており、選択内容に基づいて URL を変更できます。私が問題を抱えているのは、選択 "--" AND "Choose State" を使用して、理論的にはフィールドを強調表示し、ユーザーがクリックできないようにする 2 番目のスクリプトを起動することです。これが「validateEmpty」という関数です
私は別のアプローチに対して完全にオープンです。これは、0 の value.length を渡すことがわかったチュートリアルのハッキング バージョンです。
サンプルページはこちら: http://www.brimbar.com/no_crawl/js-test-homepage.html
また
コードは以下のとおりです。
<code>
<div id="quoteDropdowns">
<select id="stateType" name="stateType" onchange="dosomething()">
<option value="select" selected="selected">Choose State</option>
<option value="IL">Illinois</option>
<option value="MD">Maryland</option>
<option value="TX">Texas</option>
<option value="VA">Virginia</option>
<option value="--">--</option>
<option value="other">Other</option>
</select>
</div>
<div id="getAQuote"> <a id="mylink" class="myButton" href="#" onclick="validateEmpty">Get a Quote!</a> </div>
<script type="text/javascript">
function dosomething() {
var inputSelector = document.getElementById("stateType");
var link = document.getElementById("mylink");
if (inputSelector.value == "VA") {
link.href = "http://www.test1.com";
}
else if (inputSelector.value == "MD") {
link.href = "http://www.test2.com";
}
else if (inputSelector.value == "IL") {
link.href = "http://www.test3.com";
}
else if (inputSelector.value == "TX") {
link.href = "http://www.test4.com";
}
else if (inputSelector.value == "other") {
link.href = "http://www.test5.com";
}
else if (inputSelector.value == "--") {
stateType.value.length == 0;
link.href = "#";
}
}
console.log('First Function is Valid');
function validateEmpty(stateType) {
var error = value.length==0;
if (stateType.value.length == 0) {
stateType.style.border = 'red';
error = "The required field has not been filled in.\n"
} else {
stateType.style.background = 'White';
}
return error;
}
console.log('Second Function is Valid');
</script></code>