2017-07-07 158 views
0

我繼承了一個文件,增加了一個價值像這樣的輸入:

<input type="text" id="cityOrZip" class="form-control zip-field-to-be-validated" name="cityOrZip" value="<? if($_SESSION['locationCityOrZip']) { echo $_SESSION['locationCityOrZip']; } else { ?>80401<? } ?>"> 

此頁面的一個新功能的要求,導致我補充一點,檢查一個javascript函數在URL中使用特定的查詢參數,然後更新表單中的多個(類似)字段。如何在檢查查詢參數後運行的函數中忽略會話變量。

這裏是我的js其檢查查詢參數,然後重置領域:

if (window.location.search.slice(1,8) === "movedto") { 

function getQueryVariable(variable) { 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) { 
     var pair = vars[i].split("="); 
     if(pair[0] == variable){return pair[1];} 
    } 
    return(false); 
} 

var movedToLocation = getQueryVariable("movedto"); 

$('#cityOrZip, #filterCityOrZip').val(prettyLocation); 
$('#locationType, #filterLocationType').val("Primary Care"); 
$("#find-a-location-simple, #find-a-location").submit(); 

}

是我看到發生的問題是:

  • 當查詢參數條件匹配,輸入由我的變量填充
  • PHP $ _SESSION變量導致輸入重置爲$ _SESSION變量已存儲。
+2

我想你不會寫代碼來忽略它。我不清楚這個問題在哪裏。你能提供一個更完整的例子,並指出哪裏存在問題? – David

+0

Session變量用於設置輸入表單的值。我正在添加使用查詢變量的頁面的變體。我檢查該查詢變量是否存在,然後根據查詢參數更新輸入的值。但是,這些內置的PHP $ _SESSION變量會導致輸入值來回跳轉。我從來沒有這樣寫過,但我繼承了混亂的jquery意大利麪條 – JordanBarber

+0

你是什麼意思「導致輸入值跳來跳去」?你能提供一個這裏發生的事情的實例嗎?到目前爲止,您只是顯示了一個值,並詢問如何不使用該值。這沒有什麼意義。 – David

回答

0

我假設爲了讓session值替換你提交表單的javascript值(因此有php運行)。 您可能需要添加到您的if語句以確定是否發佈值,並使用發佈的值而不是會話值或通過替換存儲的會話值。

我建議用表單之前的發佈數據替換會話值,而不是添加到內聯if語句。