it-swarm.asia

Google Formunda gizli alan

Formun her gönderisine benzersiz bir kimlik ekliyorum. Şu anda, bu kimliği ilk alanı yaptım ve kimliğe önceden doldurdum, ayrıca kullanıcıdan bu alanı değiştirmemesini isteyen bir yardım metni ile. Bu seçeneği kullanıcıya gösteremediğim bir seçenek var mı?

34
Kira

Kullanıcı formunuzu doldurmadan önce yalnızca programlı olarak benzersiz bir kimlik atamanın yollarıyla ilgilendiğinizi farz ediyorum.

Hayır, Google Forms, HTML Formlarında olduğu gibi gizli alanlar için hala doğrudan bir desteğe sahip değildir. Tek seçeneğiniz zaten bildiğiniz custom styling route olarak görünüyor.

İşte işe yaramayan iki umut verici fikir ...

  1. Silinen bir soruyu önceden doldurun. Bir formdan bir soru silerseniz, cevap formunun içinde kalır - ne yazık ki Formlar önceden doldurulmuş URL’lerde sunulan silinmiş sorular için değerleri bastırır, aksi takdirde Benzersiz Kimliğinizi gönderdiğiniz numaraya kandırabilirsiniz. yol. (Bunun akıllıca bir çalışma olabileceğini düşündüm, ancak işe yaramadığı için hayal kırıklığına uğradım.)

  2. Bir soruyu atlanmış bir sayfada önceden doldurun1. Canlı formun atlayacağı ikinci bir sayfada bir soru ayarlayabilir ve bu soru için önceden doldurulmuş bir URL de oluşturabilirsiniz. Şimdiye kadar, çok iyi - ancak kullanıcı aslında bu sayfaya gitmezse, önceden doldurulmuş yanıt gönderilmez.


1Bu konuyu eski forumda önceki tartışma sırasında bu konuda dile getiren @AdamL'a teşekkürler.

23
Mogsdad

Bunu doğrudan Google Formlar tarafından yapamazsınız, ancak aşağıdakileri çözebilirsiniz:

  1. Gizli alanı içeren google formunu oluşturun. 
  2. Bir Google Wep Uygulaması oluşturun ( https://developers.google.com/apps-script/guides/web )
  3. Aşağıdaki kodu varsayılan Code.gs dosyasına ekleyin. (Bu temelde bir index.html şablonunu açar.) 

    doGet(e) { return HtmlService.createTemplateFromFile('index').evaluate(); }

  4. Formunuzun kaynak kodunu içeren yeni bir index.html dosyası oluşturun.

  5. Girdi alanını, içine style="display:none" ekleyerek <div> ekleyerek gizleyin 
  6. Herhangi bir şablon bilgisini <?= your_gscript_code() ?> kullanarak <input value=""> alanına ekleyin 
  7. Web uygulamasını yayınlayın (Web uygulamasını yayınlayın/dağıtın ...). Şimdi, istenen alanı gizlenmiş ve önceden gizli değerinizle doldurulmuş bir forma bağınız var.

Bu çözümle, herhangi bir özel stil uygulayabilir ve hatta Google tarafından barındırılan form tutarken diğer gereksiz html elements

5
ezsi

Sanırım senin sorunun için bir çözüm buldum. Sayfadaki form verilerinizin gideceği bir komut dosyası, form gönderiminde tetiklenebilir. Daha sonra gönderilen her satır için bir "aralık" kopyalayıp artırabilirsiniz.

* düzenleme, örnek kod istendi .Bu kodun çalışması için google app betiğinizdeki kaynaklar menüsünü kullanarak "tetikleyici" kurmanız ve form gönderme işleminde "elektronik tablodan" "kullanmanız gerekir .Aşağıdaki snippet'e yaptığım şeyi kaynattım.

function myFormUpdates(e) {
  var spreadsheet = SpreadsheetApp.getActive()
  //select the sheet you're form is going to post data to
  var sheet = spreadsheet.setActiveSheet(spreadsheet.getSheets()[1])
  //select the last row and a unused column
  var cell = sheet.getRange(sheet.getLastRow(), 3)
  //set data
  cell.setValue('Data')
}
1
Puppetx

Yapabileceğiniz en iyi şey sağ üst köşedeki ayarlara gidip "E-posta Adreslerini Topla" yı tıklamak, bu toplanmayacak ancak bir doğrulayıcıya sahip olacak ve yanıtlayandan e-postayla filtrelenmiş kısa bir cevap sorusu doldurmasını istiyor.

Exp IMG 1

Exp IMG 2

0
Mrs.PizzaGuy