久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 如何構(gòu)建自己的調(diào)查并使用自定義JavaScript擴展它們

如何構(gòu)建自己的調(diào)查并使用自定義JavaScript擴展它們

來源:千鋒教育
發(fā)布人:syq
時間: 2022-09-15 15:23:09 1663226589

  關(guān)于如何使用自己的JS函數(shù)的入門書,以增強ScinessJS附帶的條件邏輯和驗證器。

使用自定義JavaScript擴展

  想要編寫自定義 JavaScript 函數(shù),以便您的調(diào)查可以自動檢測用戶設(shè)備?請繼續(xù)閱讀!

  在調(diào)查中最大化投資回報率方面,無論是新廣告活動的市場研究,衡量客戶滿意度還是患者病史采集,最大的差異因素都是相關(guān)性。 簡單地說,不要浪費他們的時間。

  您的受訪者不必看到不適用于他們的問題或與他們已經(jīng)提供的信息相矛盾的樣板問題。

  這就是為什么為調(diào)查實施條件分支(更廣為人知的“跳過邏輯”)至關(guān)重要的原因。您需要確保受訪者始終獲得最相關(guān)的問題 - 因為這就是為您帶來更高完成率和更大數(shù)據(jù)樣本量的原因。此外,使用條件邏輯,您可以根據(jù)以前問題的答案確定問題,所有這些都可以為您提供更好的分析,并為利益相關(guān)者提供更準確的預(yù)測和指數(shù)。

  SurveyJS是一個免費的開源(在MIT許可證下)JavaScript庫,它不僅可以讓你做到這一點,而且還更進一步,允許你用自己的JavaScript代碼擴展你的條件邏輯和輸入驗證,做一些單純的調(diào)查庫無法單獨做的事情。

  讓我們構(gòu)建我們自己的條件和驗證器 - 完全堅持使用普通的JavaScript - 看看這是多么容易,無論你使用的是什么樣的框架。

  請隨時在此處查看成品;自定義函數(shù),模式,所有爵士樂。

  自定義條件邏輯

  對于一個非人為的真實示例,假設(shè)您正在設(shè)計一個數(shù)字使用情況調(diào)查,并希望以一種將問題放在一個頁面上,將移動用戶的問題放在另一個頁面上的方式進行分類,兩者在可見性方面都是相互排斥的。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們75

  現(xiàn)在,SurveyJS 為您提供了幾個內(nèi)置的客戶端條件可見性選項和觸發(fā)器,以幫助您實現(xiàn)分支和跳過邏輯 — 例如,可見的If、enableIf 和必需的 If 屬性包括:

  a. 在調(diào)查架構(gòu) (JSON) 本身中設(shè)置,

  b. 直觀地接受布爾表達式,以及

  c. 可以應(yīng)用于問題、面板,甚至整個頁面。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們2278

  從這里看一下調(diào)查。第二個問題(理想的團隊規(guī)模)是可見的,當且僅當前一個問題(之前的團隊經(jīng)驗)有一個肯定的“是”答案。

  但是,在我們現(xiàn)在正在討論的設(shè)備使用情況調(diào)查中,如果沒有一個額外的起始問題,這種內(nèi)置的條件評估就無法幫助我們,該問題會問:“您當前使用的是哪種設(shè)備?這是無關(guān)緊要的,會占用時間,受訪者可能更希望自動檢測。

  所以現(xiàn)在,你可能會想,“好吧,天哪,如果我能......編寫一個JS函數(shù),自動檢測我的受訪者是在計算機還是在移動設(shè)備上,并有條件地顯示兩個頁面之一。

  如果你是,拍拍自己的后背,因為你可以做到這一點。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們2727

  順便說一句,這都是普通的 JavaScript。對于較舊的/不受支持的網(wǎng)絡(luò)瀏覽器,請嘗試使用 matchMedia() 組合填充。

  這是我們的第一步。編寫一個函數(shù),該函數(shù)使用 matchMedia API 運行 CSS 媒體查詢,并在返回的對象上運行一個函數(shù),該函數(shù)根據(jù)查詢是否匹配給我們一個 或 值 — 非常適合我們,因為當然,我們確實希望在調(diào)查中為條件邏輯提供布爾值!matches true false

  我們的函數(shù)檢查受訪者的設(shè)備,只要它至少有一個細粒度指針(即鼠標或觸摸板),就會返回。如果不是,那么,您的受訪者可能正在使用移動設(shè)備。true

  當然,邊緣情況是存在的,但這是一種快速而骯臟的方法來檢查不需要外部庫(如UAParser.js)的設(shè)備使用情況,并且可以很好地為我們的示例提供服務(wù)。

  自定義函數(shù)的下一步是“注冊”它們,如下所示。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們3573

  寄存器函數(shù)的參數(shù)是:

  函數(shù)名稱(字符串)

  函數(shù)本身

和一個布爾值來指示這是否是異步函數(shù)(在這種情況下,庫將期望回調(diào)而不是常規(guī)的返回語句 - 記住這個,我們稍后會回來討論它!)

  最后,在 JSON 架構(gòu)中包含函數(shù)名稱作為要檢查的條件,這樣就可以了。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們3701

  正如您已經(jīng)猜到的那樣,對于您的 PC 特定頁面,可見的If 屬性需要改為“!ifMobile()”或“如果移動() = 假”。

  自定義輸入驗證 — 本地 *和* 服務(wù)器端。

  就像我們做自定義條件來實現(xiàn)跳過邏輯一樣簡單,我們可以進行自定義輸入驗證,以超越 SurveyJS 提供的開箱即用功能。

  在介紹這里令人興奮的部分之前,讓我們看一下自定義輸入驗證的基本示例。

  這是一個非常簡單的示例,它使用正則表達式模式來確保字段中不存在 HTML 代碼,作為防止?jié)撛趷阂饽_本攻擊的安全措施。Comment

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們3951

  在(或任何組件實例化并呈現(xiàn)您的調(diào)查)中,您可以注冊它,就像我們對自定義條件邏輯的函數(shù)所做的那樣。App.jsx

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4009

  不要忘記將此函數(shù)名稱作為驗證器包含在我們的 JSON 架構(gòu)中,就像以前一樣。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4050

  還記得 register 函數(shù)如何具有可選的布爾參數(shù)來指示是否要注冊需要回調(diào)的異步函數(shù)嗎?

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4186

  如果需要復(fù)習,下面是類型聲明。

  是的,你猜對了。接下來,我們將構(gòu)建一個自定義輸入驗證器,該驗證器實際上調(diào)用外部的第三方REST API來驗證用戶提供的電子郵件地址,確保它實際上是可傳遞的,而不僅僅是有效的 - 非常有用,因為字段正則表達式只是愚蠢的模式,并且很容易被偽造但看起來正確的電子郵件地址所愚弄, 喜歡。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4367

  我們在這里使用EVA,這是一個漂亮的小型公共API,可以快速為您進行電子郵件驗證,包括檢查可訪問性,網(wǎng)絡(luò)郵件狀態(tài)和垃圾郵件過濾。

  注冊,并將其作為驗證程序包含在您的 JSON 架構(gòu)中...

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4553

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4555

  ...我們完成了!綜上所述,以下是我們的驗證代碼。

如何構(gòu)建自己的調(diào)查并使用自定義 JavaScript 擴展它們4583

  無限潛力

  建筑調(diào)查是一項艱苦的工作,不要讓它更難。

  您的想象力和數(shù)據(jù)收集能力不應(yīng)是平臺工具的功能,也不應(yīng)受到您用于所述任務(wù)的庫的技術(shù)能力的限制。

  這就是使 SurveyJS 脫穎而出的原因 — 能夠使用完全自定義的 JavaScript 代碼來增強現(xiàn)有功能,以準確執(zhí)行您想要的操作,無論您碰巧使用哪種框架。當然,提供的示例是使用 React 構(gòu)建的,但沒有一個自定義條件邏輯或輸入驗證是特定于 React 的 — 我們只是使用與框架無關(guān)的 vanilla JavaScript 擴展了 SurveyJS。這給我們帶來的可能性之多,怎么強調(diào)都不為過。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖店入駐收費多少?開抖店費用是多少?

如果要開通抖音小店,需要先把抖音賬號開通商品櫥窗功能。入駐之后,可以選擇頭條賬號、抖音賬號、火山賬號任一類型注冊或登錄。那開個抖店要多...詳情>>

2023-09-19 07:50:26
想做直播帶貨的貨源哪里來?怎么找貨源?

現(xiàn)如今直播推廣的方式是非?;鸬?,有著非常多的賣家都是利用直播推廣店鋪產(chǎn)品,效果也是非常不錯。但很多賣家想要了解現(xiàn)在直播帶貨的話什么產(chǎn)品...詳情>>

2023-09-19 07:47:16
適合三農(nóng)領(lǐng)域的名字?有何技巧?

現(xiàn)在在抖音上很多博主會選擇直播來賺取更多的流量以及利潤,直播間的東西也有很多讓消費者信任并且喜歡的,而且隨著越來越多人直播,很多農(nóng)產(chǎn)品...詳情>>

2023-09-19 07:06:05
抖店商品發(fā)布違規(guī)怎么申訴?有何規(guī)則?

抖店服務(wù)市場服務(wù)商發(fā)布違禁信息如何處理?情節(jié)嚴重程度判定原則:違規(guī)嚴重等級主要通過服務(wù)商違規(guī)次數(shù)、造成后果的嚴重程度、獲利或?qū)е聯(lián)p失的...詳情>>

2023-09-19 06:59:55
“泛垂直起號”可能是2023年最高效的起號方式

這可能是明年最好用的旗號方式了,今天教大家一個很野,但是可以讓你三天漲1000粉的偏方。去年前年啊,每個人都教你,誰知七號對著自己的產(chǎn)品拍...詳情>>

2023-09-19 06:37:38
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)