2012-04-05 6 views
0

Привет, я пытаюсь использовать javascript для отправки двух строк на другую страницу PHP (строки являются динамическими и будут созданы программой JS во время выполнения)javascript post form.submit();

Я хочу использовать нижеследующий код для открытия нового окна и в коде для этой страницы получить отправленные данные

-им, используя следующий код, чтобы получить возможность отправлять

var title_string = "title1|title2"; 
var barcode_string = "barcode1|barcode2"; 
var path="create_labels.php"; 
var method = "post"; 
var params = "titles=" + title_string + "&barcodes=" + barcode_string; 
    // The rest of this code assumes you are not using a library. 
// It can be made less wordy if you use one. 
var form = document.createElement("form"); 
form.setAttribute("method", method); 
form.setAttribute("action", path); 
form.setAttribute("target", "_blank"); 

for(var key in params) { 
    if(params.hasOwnProperty(key)) { 
     var hiddenField = document.createElement("input"); 
     hiddenField.setAttribute("type", "hidden"); 
     hiddenField.setAttribute("name", key); 
     hiddenField.setAttribute("value", params[key]); 

     form.appendChild(hiddenField); 
    } 
} 

document.body.appendChild(form); 
form.submit(); 

для простоты я только что создал две строки (название и штрих-код) на тот момент, который я собираюсь проходить через сообщение по форме. сообщение

Немного не уверен, что это создание параметров, я делаю это правильно? Код действительно открывает новое окно, но по какой-то причине я не могу получить опубликованные данные, я думаю, что я не ошибаюсь.

ответ

0

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

0

params - это строка, а не объект, поэтому у нее нет никаких ключей. Вы в конечном итоге обработки каждого символа строки и в конечном итоге с этим:

<input type="hidden" name="0" value="t"> 
<input type="hidden" name="1" value="i"> 
<input type="hidden" name="2" value="t"> 
<input type="hidden" name="3" value="l"> 
<input type="hidden" name="4" value="e"> 
<input type="hidden" name="5" value="s"> 
<input type="hidden" name="6" value="="> 
<input type="hidden" name="7" value="t"> 
<input type="hidden" name="8" value="i"> 
<input type="hidden" name="9" value="t"> 

... и т.д. ...

Вам может понадобиться этот bit of code, чтобы преобразовать его.

Смежные вопросы