2016-08-28 56 views
0

我想用html創建的Sweetalert2從多個輸入中獲取值。Sweetaleart2的多種輸入類型

swal({ 
     type: 'question', 
     title: 'Confirm recipient details', 
     html: '<p style="color:#C00; padding-bottom:0px; margin-bottom:0px"> 
      Cloud only terms and conditions</p> 
      <div class="swal_input_wrapper"> 
      <div class="label_wrapper">Email: </div> 
       <input id="swal-input1" style="width:75%" class="swal2-input" autofocus><br/> 
      <div class="label_wrapper">Recipient: </div> 
       <input id="swal-input2" style="width:75%" class="swal2-input"></div><br/> 
      <div class="label_wrapper">Message: </div> 
       <textarea id="swal-input3" style="width:75%" class="swal2-textarea"></textarea> 
      </div>', 
       preConfirm: function() { 
        return new Promise(function(resolve) { 
         resolve([ 
          $('#swal-input1').val(), 
          $('#swal-input2').val(), 
          $('#swal-input3').text() 
         ]); 
        }); 
       } 
     }).then(function(result) { 
      //values from inputs (results is an array) 
      email = result[0]; 
      email_name = result[1]; 
      email_message = result[2]; 
      alert(email_name); 
    }).done(); 

測試輸出,因爲我添加了部分它一直工作,直到我添加'email_message = result [2];'這表明它不能解決textarea的價值。我曾嘗試使用以下襬脫textarea的文本,都沒有成功...

$('#swal-input3').text() 
$('#swal-input3').val() 
$('#swal-input3').html() 

直到點我再補充一點線警報(EMAIL_NAME)的作品,但事後並沒有找到什麼錯誤或停止警告我可以找到。

請注意,上面的html部分在我的腳本中沒有換行符,我添加了它們來嘗試使代碼更易於閱讀,因爲此處的代碼段似乎不支持wordwrap。

回答

1

$('#swal-input3').val()工作得很好:[JSFIDDLE]

.val()是你需要獲得一個textarea字段的值是什麼。