2010-07-21 53 views
0

我知道這可能是盯着我的臉,但:爲什麼在onSubmit重新加載時返回false?

我有一個基本的一個爲頭:

<form onSubmit="return validateClinicalReports();" name="clinicalreport" method="post" action="process.php" enctype="multipart/form-data"> 

的JS着眼於利用每個輸入:的document.getElementById(「名」 )。如果它看到輸入是空白的,它將輸入黃色,選擇它並給出焦點。很簡單,我用它的另一種形式有不同的輸入接口:

if(name == "") 
    { 
     document.getElementById("name").style.backgroundColor = "yellow"; 
     document.getElementById("name").select(); 
     document.getElementById("name").focus(); 
     return false; 
    } 

我簡直複製,從另一個函數(只是改變了變數和ID命名)。當我提交時,我可以看到空白輸入爲黃色,然後重新加載整個表單。我的其他表單可以正常工作。

任何想法?

+0

不要使用「name」作爲變量或id,因爲window.name是一個實際變量。相反,將其稱爲FirstName或這樣的 – mplungjan 2010-07-21 17:18:01

回答

0

原來你不應該急於獲取和使用預設的關鍵字,你輸入ID名稱::: headdeask :::

0

onsubmit處理程序調用validateClinicalReports()不帶任何參數。你沒有包含完整的函數,但是什麼是「名稱」變量,它來自哪裏?

我的猜測是「if(name ==」「)」代碼根本沒有得到執行。您可以通過將alert()調用添加爲if內部的第一個語句來驗證它是否正在調用。你可以完全移除if()測試,並且始終執行代碼。另外,如果你打算使用getElementById(),你應該在表單標籤中加入「id = name」。

+0

在這種情況下,validateClinicalReports不需要任何參數。我不需要向它傳遞任何東西,因爲它會在if語句內拉取變量值。 名稱變量只是一個在此問題中用作任何變量的佔位符的示例。 我用「位置」作爲變量。我把它改成了「loc」,它工作。 – dcp3450 2010-07-23 10:56:49

相關問題