使用Javascript清除$ _SESSION变量

时间:2017-07-07 17:06:42

标签: javascript php jquery session session-variables

我继承了一个向输入添加值的文件,如下所示:

<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变量存储的内容。

1 个答案:

答案 0 :(得分:0)

我假设为了让会话值替换你提交表单的javascript值(因此有php运行)。 您可能需要添加到if语句以确定是否已过帐值并使用已发布的值而不是会话值或替换存储的会话值。

我建议在表单之前用会话数据替换会话值,而不是添加到内联if语句。