Как напечатать текст в форме по ссылке <a>? - PullRequest
0 голосов
/ 13 сентября 2010

Мне нужно иметь возможность печатать текст в поле формы по ссылке <'a'>.

В основном у меня есть список объявлений о вакансиях на одной странице и ссылка "применить" для каждогоодин.Что произойдет, это вызовет форму с полем «Выбор работы», уже заполненным полем «Название вакансии» с предыдущей страницы.

Что-то вроде

<a href="applyform.php?submitted[job_chosen]=job_title">Apply For Position</a>

Я знаю, что это совсем не так, просто по причинам объяснения.

Ответы [ 5 ]

3 голосов
/ 13 сентября 2010

А вот и ответ "есть модуль для этого" : D

Первые 2 модуля более зрелые:

http://drupal.org/project/nodereference_url

http://drupal.org/project/prepopulate

http://drupal.org/project/urlfill

0 голосов
/ 13 сентября 2010

Хорошо, не знал http://drupal.org/project/prepopulate модуль.

Использование очень просто:

http://www.example.com/node/add/blog?edit[title]=this is the title

Но это зависит от того, является ли ваш jobapply.php пользовательским php или напрямую связан с drupal.

Если это просто пользовательский PHP, решение ниже работает. Если это друпал, вы можете использовать модуль выше.

Это действительно зависит от того, что вам нужно в этом случае.

0 голосов
/ 13 сентября 2010

Вы можете сделать это в JavaScript, хотя я бы не стал. С другой страницы :

function $_GET(q,s) {
    s = (s) ? s : window.location.search;
    var re = new RegExp('&amp;'+q+'=([^&amp;]*)','i');
    return (s=s.replace(/^\?/,'&amp;').match(re)) ?s=s[1] :s='';
}

document.getElementById("JobTitle").value = $_GET("job_chosen"); // Assuming "JobTitle" is an input element

Получит значение job_chosen с URL-адреса, например: http://www.example.com/apply.html?submitted=1&job_chosen=Software%20Developer

0 голосов
/ 13 сентября 2010

Если вы хотите добавить только одну вещь, вы можете просто добавить ее к URL:

path / to / form / [nid]

Я предполагаю, что задания являются узлами, так что вы можете просто отправить идентификатор узла.Вы можете использовать это название узла.

Вы также можете просто отправить заголовок вместе, но проблема в том, что URL не очень хорошо обрабатывает специальные символы, и это может быстро стать проблемой..

Все, что вам нужно сделать в вашей форме, это получить nid, используя arg(), и запросить базу данных для заголовка узла, который находится в таблице node.

Вы можете использовать #default_value для предварительного заполнения формы заголовком узла.

0 голосов
/ 13 сентября 2010

Вы можете сделать это, используя строку запроса

<a href="applyform.php?job={job title}">Apply For Position</a>

Затем на своей странице php просто потяните ключ строки запроса «job» и заполните поля значениями.

 <?php
  //get variable
  $d = $_REQUEST['VariableName'];
  //fill textbox
  print('<input type="text" name="job_title" value="' . $d . '" />');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...