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ı?
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 ...
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.)
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.
Bunu doğrudan Google Formlar tarafından yapamazsınız, ancak aşağıdakileri çözebilirsiniz:
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();
}
Formunuzun kaynak kodunu içeren yeni bir index.html dosyası oluşturun.
style="display:none"ekleyerek
<div>ekleyerek gizleyin
<?= your_gscript_code() ?>kullanarak
<input value="">alanına ekleyin
Bu çözümle, herhangi bir özel stil uygulayabilir ve hatta Google tarafından barındırılan form tutarken diğer gereksiz html elements
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') }
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.