我有两个页面 - 索引和搜索(.php)。在index.php上我有一个表单,我正在拦截提交w / JS。 JS正在按预期接收表单数据,但是当我告诉JS将表单提交给search.php时,search.php没有收到任何数据。
我更喜欢使用GET,以便用户可以直接导航到搜索结果。我是一个JS新手,所以你提供的任何add'l建议都非常感谢!
index.php上的表单:
<form action="search.php" method="GET" onSubmit="startS(this);">
<input type="text" name="oDom" class="span2" placeholder="Type Stuff">
<button type="submit" class="btn btn-primary">Search Now</button>
</form>
的search.php
if(isset($_REQUEST['dom']) && isset($_REQUEST['suff'])){
if (!empty($_REQUEST['dom']) && !empty($_REQUEST['suff']) ) {
$doSearch = "gogo";
}
else {
$doSearch = "nogo";
}
}
else {
$doSearch = "nogo";
}
和JS:
function startS(form){
var start = form.oDom.value;
// Clean input to get just the primary domain and suffix, then assign seperate vars
var cleanDomain = start.substring(start.indexOf(".")+1,start.lastIndexOf(".")+4);
var newDomain = cleanDomain.split(".")[0];
var newSuffix = cleanDomain.substring(cleanDomain.indexOf(".")+1);
// Add new fields to form
var domField = document.createElement("input");
form.appendChild(domField);
domField.name = "dom";
domField.type = "hidden"
domField.value = newDomain;
alert("New Domain" + newDomain); // This works and variable is shown
var suffField = document.createElement("input");
form.appendChild(suffField);
suffField.name = "suff";
suffField.type = "hidden"
suffField.value = newSuffix;
alert("New Domain" + newDomain); // This works and variable is shown
// Submit the form.
form.oDom.value = "1";
form.submit();
return false;
}
我已尝试在表单上使用POST和GET方法,但都不起作用。当您手动输入search.php?dom = foo&amp; suff = bar时,search.php会按预期接收数据,但即使使用带有参数的URL重定向JS也无法正常工作。
想法?我敢肯定这可能是一件很简单的事情我很容易忽视,但是我一直在盯着它玩几个小时,而且我被卡住了&gt;。&gt;
编辑:简单地添加一个返回固定的问题 - 不能相信我花了这么长时间忽略了! ^^