我試圖尋找類似的問題,但我找不到任何東西,所以如果你知道任何類似的問題,請讓我知道。jquery腳本不能在jquery加載頁面中工作
讓我解釋一下我在做什麼: 我有一個腳本來驗證js文件中的表單,它可以在任何頁面中使用我有的表單工作正常,問題是,當我使用jquery加載表單時,它只是不「T工作,我已經用在不同的地方的下一行嘗試:頁眉,頁腳等
<script src='myFile.js'></script>
迄今爲止已經爲正在寫的代碼行上面的表格本身內工作的唯一的事。 我認爲它與DOM的工作形式有關,我也嘗試過使用它,而不是使用它。
$(document).ready(function(){ //code});
只有當我在表單本身內添加帶有src屬性的腳本標記時,它纔會起作用。
對我來說,將腳本標記添加到我使用jquery加載的任何表單中並不是一個大問題,但它的工作效率稍高一點,效率不高,而且當我將腳本標記添加到任何表單並加載它時使用ajax我得到下一個控制檯警告,只有當我從表單文件中刪除腳本標記時纔會消失:
jquery-3.2.1.min.js:4 [棄用]主線程上的同步XMLHttpRequest已棄用,因爲對最終用戶的體驗產生不利影響。如需更多幫助,請查詢https://xhr.spec.whatwg.org/。
這裏是我的代碼的一部分:
<!--home.html-->
<div id='formFrame'>
</div>
<script>
$("#formFrame").load("html/loginForm.html");
</script>
<!--end of home.html-->
<!--loginForm.html-->
<form action='somePage.php' method='post' id='loginForm'>
<input type='email' name='email' placeholder='email'>
<input type='password' name='password' placeholder='password'>
<input type='submit' name='submit' value='Login'>
</form>
<script src='js/validate.js'></script>
<!--end of loginForm.html-->
<!--validation script (validate.js)-->
$(document).ready(function(){
$("#loginForm").submit(function (e){
e.preventDefault();
alert("Working");
});
});
感謝花一些寶貴的時間閱讀這一點,我明白了很多!
您需要將$(document).ready放在腳本標記中。 –
感謝您的回答Nair,$(document).ready已經寫在我的腳本標記(validate.js)中,我想我可能會誤解你,請你指出我到底把它放在哪裏? –
'$(「#formFrame」)。load(「html/loginForm.html」);'我想你正試圖加載一個還不存在的元素。您可以使用.ready(),但爲什麼不將.load()行放在與ready()相同的塊中? –