Эта проблема кажется странной для меня, и я не могу ее исправить. У меня есть простая форма HTML; внутри, у меня есть текстовое поле и кнопку, как показано здесь:javascript window redirect не запускается
<form id="form1" method="get"> <!-- Note: No Action property -->
<div>
<h1>
Simple Test Form</h1>
<table border="0" width="400">
<tr>
<td align="right">
All of these words
</td>
<td>
<input name="txtAll" id="txtAll" type="text" value="testing keyword" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="Submit" value="Submit" onclick="myJS(this);" />
</td>
</tr>
</table>
</div>
</form>
MyJS файл как:
<script type="text/javascript">
function myJS(which) {
var CONSTANT_SITE_TARGET = "http://servername/redirect/target.aspx?text=";
//capture all values from the form
var allWords = document.getElementById("txtAll").value;
var morestring = ""; //More data manipulation here.....
var url = CONSTANT_SITE_TARGET + allWords + morestring;
window.open(url);
//window.location = url; //Doesn't work
//window.location.href = url; //Doesn't work
//self.location = url; //Doesn't work
//top.location = url; //Doesn't work
}
</script>
Как вы можете видеть, это не перенаправляет на указанный URL в JavaScript. Когда я использую window.open, тогда он работает. Обратите внимание, что в теге < ... ..., я не помещаю в него свойство . Я не хочу открывать новый браузер, просто перенаправляю на новый URL-адрес в том же браузере.
Есть ли способ перенаправить его?
Если все, что вы пытаетесь сделать, это перенаправить страницу при нажатии кнопки, нет никакой причины для формы и вашего сложного Javascript для перенаправления. Сделайте свою кнопку ввода ввода = «кнопка», onclick = «myJS();», а в вашей функции получите элемент textbox по идентификатору, получите его значение и перенаправьте браузер с помощью: window.location.href = whatever; – Ian
См. Обновление @ianpgall – mplungjan