Форма ввода страницы с добавленным URL-адресом

user1769562 спросил: 28 марта 2018 в 03:53 в: javascript

У меня есть следующая форма, размещенная на странице wordpress.

Я хотел бы поймать пользователей без ссылок, чтобы настроить реферер самостоятельно (эта часть реферера обрабатывается плагином ... здесь не имеет значения.)

Регистрационная форма Url выглядит следующим образом:

http://myurl.com/register/

Код ниже просто отлично работает , Вставляется непосредственно в редактор страницы (текст). Кроме того, он создает URL-адрес, как показано ниже:

http://myurl.com/ register /? Id = testinput

Как получить полученный URL-адрес таким образом ?:

http://myurl.com/ register / sp / testinput

<h3>Your ID</h3>
<p>Please input your ID</p>

<form id = "submit_id_form" onsubmit="myIDFunction()">
    <input type="text" name="id">
    <input type="submit" value="Confirm">
</form>

<?php
function myIDFunction(){
    var action_src = "http://myurl.com/register/" + document.getElementsByName("id")[0].value;
    var submit_id_form = document.getElementById('submit_id_form');
    submit_id_form.action = action_src ;
} ?>

</script>

Это оригинальный код формы (ссылка ниже), которую я пытаюсь изменить:

<form id = "your_form" onsubmit="yourFunction()">
<input type="text" name="keywords">
<input type="submit" value="Search">
function yourFunction(){
var action_src = "http://localhost/test/" + 
document.getElementsByName("keywords")[0].value;
var your_form = document.getElementById('your_form');
your_form.action = action_src ;
} </script>

Я попытался добавить / sp / part и удалить добавленный знак вопроса"?" в коде выше .. но я полностью застрял в кодировании. (Я "кликер", а не кодер, так сказать)

Большое спасибо, парни и девушки:)

Оригинальный код отсюда


1 ответ

crack_iT ответил: 28 марта 2018 в 04:48

Вы должны вернуть true из метода, вызванного onsubmit, как

function yourFunction(){ 
var action_src = "http://localhost/test/" + document.getElementsByName("keywords")[0].value; 
var your_form = document.getElementById('your_form'); 
your_form.action = action_src ;
return true;
 } 
user1769562 ответил: 28 марта 2018 в 05:03
Спасибо! Однако я не заметил никакой разницы ... но если это правильный формат, я буду использовать его, конечно. Как получить форматированный вывод? От? Id = testinput до / sp / testinput
crack_iT ответил: 28 марта 2018 в 05:05
Является ли 'testinput' значение, которое вы вводите в текстовом поле? Если это так, то при отправке формы URL будет localhost / test / testinput, тогда вам просто нужно заменить test на sp
user1769562 ответил: 28 марта 2018 в 05:19
Именно так. Это то, что я думал и пытался .. но это не принимает, что / SP / и всегда добавляется с? вопросительный знак. Есть ли в игре правило переписывания? Даже не имеет значения, если я изменю домен на localhost или google.com .. он всегда добавляется, как указано выше.
crack_iT ответил: 28 марта 2018 в 05:27
Хорошо, вот как работает форма отправки, и она никогда не добавит к ней строку запроса, вы можете проверить это на вкладке сети консоли браузера.
crack_iT ответил: 28 марта 2018 в 05:29
Если он делает это на сервере, то вы не можете это исправить с помощью JavaScript