2016-05-08 3 views
0

Кажется, что у Wufoo есть ошибка, потому что я не могу получить предварительное заполнение поля моей встроенной формы Wufoo с помощью url. Я использую метод внедрения javascript, который вы можете инициализировать с помощью опции 'defautValues'.Как предварительно заполнить поле wufoo URL?

К сожалению, если я инициализирую поле с URL-адресом (например: 'defaultValues':'Field1=https://youtube.com'), Wufoo удаляет 1 косую черту с URL-адреса, что делает ее недействительной.

Я попробовал «urlencoding» URL (например: 'defaultValues':'Field1=https%3A%2F%2Fyoutube.com'), но затем wufoo производит ошибку и не отображает форму.

Вот образец формы для Вас, чтобы попробовать и посмотреть на поведение самостоятельно:

<div id="wufoo-mrmifr316ya92y"> 
 
Fill out my <a href="https://democratech.wufoo.com/forms/mrmifr316ya92y">online form</a>. 
 
</div> 
 
<script type="text/javascript">var mrmifr316ya92y;(function(d, t) { 
 
var s = d.createElement(t), options = { 
 
'userName':'democratech', 
 
'formHash':'mrmifr316ya92y', 
 
'autoResize':true, 
 
'height':'259', 
 
'async':true, 
 
'host':'wufoo.com', 
 
'defaultValues':'Field1=https://youtube.com', //removes 1 slash (https:/youtube.com) 
 
//'defaultValues':'Field1=https%3A%2F%2Fyoutube.com', //produces an error 
 
'header':'hide', 
 
'ssl':true}; 
 
s.src = ('https:' == d.location.protocol ? 'https://' : 'http://') + 'www.wufoo.com/scripts/embed/form.js'; 
 
s.onload = s.onreadystatechange = function() { 
 
var rs = this.readyState; if (rs) if (rs != 'complete') if (rs != 'loaded') return; 
 
try { mrmifr316ya92y = new WufooForm();mrmifr316ya92y.initialize(options);mrmifr316ya92y.display(); } catch (e) {}}; 
 
var scr = d.getElementsByTagName(t)[0], par = scr.parentNode; par.insertBefore(s, scr); 
 
})(document, 'script');</script>

Подтверждаете ли вы ошибку? Есть ли какое-либо обходное решение, кроме удаления https:// с поля (что не очень подходит для меня?)

Этот вопрос уже задан: Why cant I add a URL as a prefilled Wufoo field entry?, но, поскольку он не был дан ответ, я подумал, что задал более подробный вопрос с примером, чтобы на самом деле попробовать код.

ответ

0

Только что получил ответ от технической поддержки Wufoo (это было быстро, в воскресенье вопрос!):

Спасибо за сообщение , Извините, что у вас проблемы с этим. мотивы URL работают с /, но если вы ставите несколько вместе, то может отображать только первый. Извините за плохие новости об этом. Боюсь, что для этой работы не существует обходного пути, даже если вы были , чтобы использовать другое поле, такое как текстовое поле с одной строкой.

Что вы можете сделать вместо этого, просто предопределите поле с www.youtube.com, а не http://youtube.com. Таким образом, вы можете добавить , но у него просто не было бы https. Извините, вы не можете сделать то, что вы хотите здесь, . Сообщите нам, если у вас есть другие вопросы .

Беста,

Так что, похоже, это действительно ошибка, и что нет правильного способа сделать это.

0

Это не ответ, а обходной путь, который может работать в некоторых случаях. Если вы используете уведомление wufoo webhook, вы можете отправить обработанный «обрезанный» URL-адрес, чтобы предварительно заполненная форма wufoo отправила вас (одна с 1 косой чертой), чтобы добавить вторую косую черту перед сохранением URL-адреса в вашей базе данных (или еще). Чтобы сделать это, я использую функцию рубиновой, как следующее:

def fix_wufoo_bug(url) 
    url.gsub!(':/','://') if url.match(/https?:\/\//).nil? 
    return url 
end 
Смежные вопросы