2012-07-26 89 views
1

我有一個javascript函數說newFn()。我需要用if else檢查一些條件。通過javascript在表格中傳遞額外參數

function newFn(formName) 
{ 
var codeParam = document.getElementById('code').value; 
var windowForm = document.forms[formName];  
    windowForm.submit(); 
return true;   
} 

我的要求是:

if(codeParam == null)我需要傳遞一個參數說codeParam=null其他codeParam=codeParamwindowForm.submit();。總之在URL我需要一個額外的PARAM。這可能嗎?

+0

「輸出總之看看在URL我需要一個額外的參數「, 所以這是一個GET表單提交? – 2012-07-26 07:56:41

+0

不是,它是POST。 – NaaN 2012-07-26 07:58:34

+1

'POST'不顯示URL中的參數,所以我想你問的是在表單中有一個額外的隱藏字段或更新已經存在的字段'code'。 – 2012-07-26 08:07:14

回答

1

我不明白到底要完成什麼,但

function newFn(formName) { 
    var codeParam = document.getElementById('code').value; 
    if (!codeParam) { 
     codeParam = null; 
    } 
    document.forms[formName].codeParam = codeParam; 
    var windowForm = document.forms[formName];  
    windowForm.submit(); 
    return true; 
} 

如果(假設「代碼」是一個文本框)是空的,codeParam設置爲null,如果它有一個值,然後codeParam設置爲該值。 (我加了propertie的形式一樣,所以它會得到提交,我不知道如果你想要的)

您可以在這個Fiddle

3

爲什麼不直接將其值設置如下:

if (codeParam == null) { 
    document.getElementById('code').value = 'null'; 
} 

這會codeParam = NULL表單數據發送到您的行動網址。

但是我注意到,這個代碼將永遠不會被執行,一個input元素的value財產永遠是價值null,當沒有提供輸入時,value屬性的值是一個空字符串(「」),所以也許你應該改變你的邏輯。