我對html,javascript中'this'的範圍很陌生。this.submit()的作用域?
因此,在查看一些SO帖子後,我發現在'this'實體的'範圍'中可能存在細微的差異。
此處,我遇到了我的問題:(編輯:在我的崗位的所有代碼駐留在index.php文件)
<form enctype="multipart/form-data"
class="registerFormStyles" name="registerForm"
action="index.php" method="post">
<input type="text" value="Username">
<input type="text" value="Password">
<a href="#" name="newUserRegister" class="login-button-landing"
onclick="document.registerForm.submit();">Login</a>
<!-- onclick="this.submit();">Login</a> -->
</form>
此代碼導致頁面的上述形式的重裝就可以了 - - 證據是輸入的用戶名和密碼閃回 默認值=「用戶名」和值=「密碼」當我點擊'登錄'按鈕 - 'a'錨,由於其 CSS樣式,是一個按鈕,符合貫穿整個網站的UI準則 。
(難道我懷疑造型一個「提交」按鈕最好面對面的人 「將不JavaScript的突破」?是的,我做的。我必須選擇 這裏嗎?不使用標準型=「提交「是不是一種選擇,我必須用 工作)
雖然它在視覺上明顯,當 我輸入用戶名,密碼,然後單擊‘登錄’頁面被重新加載 - 我做 這個頂部在php部分中的文件:
var_dump($_POST);
和POST陣列始終爲空。
所以我的問題是有關的「本」在我上面的代碼範圍:
onclick="this.submit();"
是否「本」指的是形式還是以「一個」錨內我 我打電話「this.submit」?
請注意,我也試圖通過
onclick="document.registerForm.submit();"
方式這給了相同的結果做形式的帖子 - 「用戶名」和「密碼」字段 回到它們的默認值,但POST數組是空的。
所有我需要做的是使上述形式的合適的崗位的 「一個」錨「登錄」被點擊的時候 - 我想用「this.submit()」應該 工作 - 但POST數組始終爲空。爲什麼?
以下是您已擁有+1的另一個+1。好吧,那就是我所懷疑的 - 除了document.formname的解決方法外,我的'this'不是指形式,而是'a'錨。submit(),我怎樣才能引用'this'來代表我的'a'錨內的'this'(如果有這種方式的話)? – wantTheBest 2012-03-02 16:58:23
你目前的做法是正確的做法。爲了包含'this',你必須在'