第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在將調(diào)用第一個函數(shù)的第二個函數(shù)中調(diào)用第一個函數(shù)

在將調(diào)用第一個函數(shù)的第二個函數(shù)中調(diào)用第一個函數(shù)

慕妹3146593 2021-11-04 16:04:22
我需要調(diào)用 addPatron 函數(shù),該函數(shù)將從 addpatron 函數(shù)中調(diào)用 validateItems 函數(shù)。當(dāng)我單擊 addPatron 按鈕時,它應(yīng)該提交表單,除非未輸入數(shù)據(jù)。但是我遇到了麻煩,因?yàn)楫?dāng)單擊按鈕而不添加信息時,我收到錯誤消息,但是當(dāng)我輸入信息時,錯誤消息仍然存在并且表單不會提交。我不確定我是否正確地從 ValidateItem 函數(shù)調(diào)用 addPatron 函數(shù)。請幫忙。這是代碼。var $ = function (id) {  return document.getElementById(id)}var validateItems = function () {  addpatron()  var isValid = true  var firstName = $('firstname').value  $('firstname').focus() // puts crusor on field  if (firstName == '') {    $('firstnameerror').innerHTML = 'Enter First Name'    isValid = false  }  var lastName = $('lastname').value  if (lastName == '') {    $('lastnameerror').innerHTML = 'Enter Last Name'    isValid = false  }  var myEmail = $('email').value  if (myEmail == '') {    $('emailerror').innerHTML = 'Enter Email'    isValid = false  }  var myCity = $('city').value  if (myCity == '-') {    $('cityerror').innerHTML = 'Select a City from the list'    isValid = false  }  var myDonation = $('donation').value  if (myDonation == '') {    $('donationerror').innerHTML = 'Enter Donation Amount'    isValid = false  } else if (isNaN(myDonation)) {    $('donationerror').innerHTML = 'Amount must be numeric'    isValid = false  }  return isValid}var addpatron = function () {  var isValid = validateItems  if (isValid == true) {    $('myform').submit()  } else {    $('endmessage').innerHTML = 'Patron Not Added!'  }}var clearfields = function () {  firstname.value = ''  lastname.value = ''  email.value = ''  city.value = '-'  donation.value = ''  firstnameerror.innerHTML = ''  lastnameerror.innerHTML = ''  emailerror.innerHTML = ''  cityerror.innerHTML = ''  donationerror.innerHTML = ''  endmessage.innerHTML = ''}window.onload = function () {  $('validateItems').onclick = addPatron  $('firstname').focus() // puts the crusor on field  $('clearfields').onclick = clearfields}
查看完整描述

2 回答

?
慕桂英546537

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個贊

你并不需要調(diào)用addPatron的validateItems,但你確實(shí)需要調(diào)用validateItems的addPatron:-)


var validateItems = function () {

  // addpatron() // don't call this


  var isValid = true


  var firstName = $('firstname').value

  $('firstname').focus() // puts crusor on field


  if (firstName == '') {

    $('firstnameerror').innerHTML = 'Enter First Name'

    isValid = false

  }


  var lastName = $('lastname').value


  if (lastName == '') {

    $('lastnameerror').innerHTML = 'Enter Last Name'

    isValid = false

  }


  var myEmail = $('email').value


  if (myEmail == '') {

    $('emailerror').innerHTML = 'Enter Email'

    isValid = false

  }


  var myCity = $('city').value


  if (myCity == '-') {

    $('cityerror').innerHTML = 'Select a City from the list'

    isValid = false

  }


  var myDonation = $('donation').value


  if (myDonation == '') {

    $('donationerror').innerHTML = 'Enter Donation Amount'

    isValid = false

  } else if (isNaN(myDonation)) {

    $('donationerror').innerHTML = 'Amount must be numeric'

    isValid = false

  }


  return isValid

}


var addpatron = function () {

  var isValid = validateItems() // do call this


  if (isValid == true) {

    $('myform').submit()

  } else {

    $('endmessage').innerHTML = 'Patron Not Added!'

  }

}


查看完整回答
反對 回復(fù) 2021-11-04
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個贊

此外,您的 CSS 選擇器是錯誤的。我認(rèn)為您的意圖是查找具有屬性id="firstname"、id="firstnameerror"等的html 元素。在 CSS 選擇器中,#意味著按 id 查找元素,因此您確實(shí)想要$('#firstname')等。

而且看起來你不懂jquery。Jquery 對象與https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API中記錄的原始 DOM 元素不同。原始 DOM 元素是瀏覽器腳本中可用的最低級別的 DOM 接口。Jquery 是一個建立在它之上的庫。一個 jquery 對象代表一個 DOM 元素(或者多個元素,或者根本沒有)。但是 jquery 對象上可用的方法與原始 DOM 元素上可用的方法完全不同,您似乎正在嘗試使用它們。請注意,由于 jquery 對象根本不能表示任何對象,因此當(dāng)遇到 CSS 選擇器無法匹配 DOM 中的任何元素時,jquery 不會拋出異常。

有不同的方法來解決這個問題。您可以完全接受 jquery,使用 jquery 中可用的所有方法,而不是您所學(xué)的方法。例如,$('validateItems').onclick = addPatron會變成$('validateItems').click(addPatron). 有關(guān)更多詳細(xì)信息,請參閱 jquery.com?;蛘吣憧梢允褂迷?DOM 的東西。

您也可以混合使用這兩種方法,只要您不要混淆這兩種方法即可。例如,我相信 jquery 對象可以像原始 DOM 元素的數(shù)組一樣被取消引用,$('#firstname')[0]即將是第一個(也是唯一一個)具有 id 的 DOM 元素firstname。這意味著您可以像對待任何 DOM 元素一樣對待它;例如,var firstName = $('#firstname')[0].value。(雖然很煩人,但我在文檔中找不到它。)相反,如果element是原始 DOM 元素,則$(element)是包含該元素(沒有其他元素)的 jquery 對象。

使用原始 DOM 元素很笨拙。方法名稱很長,并且存在不同瀏覽器之間不一致的問題(雖然我懷疑這不像以前那么糟糕)。Jquery 在我看來更好。但是 jquery 現(xiàn)在也相當(dāng)過時了。更現(xiàn)代的東西使用諸如 React 之類的庫,它使用不同的范式,旨在避免諸如忘記更新頁面部分之類的問題。


查看完整回答
反對 回復(fù) 2021-11-04
  • 2 回答
  • 0 關(guān)注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號