簡單的形式,可以從菜單中選擇或者從菜單中選擇或輸入文本。jquery表單 - 通過外部函數獲取變量
一切工作一般。但是,我試圖禁用提交按鈕,直到或者使用輸入選項。
我無法獲得一個變量值在jquery中正確讀取,我不知道爲什麼。
$(document).ready(function() {
var allThere = false; //stop
\t
//Either pick an item....
$('#selmen').on('change', function() {
$('#theName').slideUp(300);
\t \t
var theVal = $(this).val();
if (theVal) {
console.log('Select value = ' + theVal);
allThere = true; //go
console.log('innerSelect = ' + allThere);
}
});
//Or type new....
$("#theName").on("keyup", function(){
$('#selmen').slideUp(300);
if ($('#theName').val() != '') {
console.log('key value = ' + $(this).val());
allThere = true; //stop
console.log('innerName = ' + allThere);
}
});
\t \t \t \t
//check the variable...
//This reports FALS always
if (allThere == false) {
$("#newsub").attr("disabled", "disabled"); //stop
console.log('Base allThere = ' + allThere);
} else {
$("#newsub").removeAttr("disabled"); //go
console.log('Base allThere = ' + allThere);
} \t \t
}); //end doc ready
body { margin: 50px; }
input { display: block; margin: 10px 0;}
#newsub { background: #a00; color:#fff; border: none; padding: 10px 20px; text-align: center;}
#newsub:disabled { background: #333; color:#ccc;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="selmen" id="selmen" class="drop">
<option value="">Pick One</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" id="theName" />
<input type="sumbit" name="newsub" id="newsub" value="ADD" />
如果事情是正常工作時,選擇或輸入一個值提交按鈕應該變成紅色。
控制檯顯示正在功能內更新的變量。但是,由於一些神祕的原因,這個變量並沒有在底部的if/else語句中被讀取。
我錯過了什麼?
編輯:
附加資料...
的形式是通過AJAX加載。我基本上有:
$('#formload').on('click', function() {
$('#mainformholder').slideToggle();
$('#mainform').load('_core/inc/mainform.php', function() {
//The snippet above
});
});
因此,轉移到document.ready()
函數以外的函數也有問題。 (至少對我來說)
這是有道理的....但是,我沒有提到這似乎也是一個障礙。該表單通過'load()'函數加載。請參閱問題編輯。我試着將功能移到不同的位置,並將目標更改爲具體,但仍然無法實現。謝謝。 – Scott
那麼,只需將函數*放在* document.ready中即可。看到我編輯的答案。JavaScript是相當鬆懈,就像那個xD – AVAVT
謝謝..實際上我的部分毫無遺漏。不會在改變變量的if/else語句中運行該函數。這解決了它。再次感謝你! – Scott