2017-06-14 95 views
1

我輸入了表單字段,當我在其中一個輸入框中鍵入例如訂單號碼時,我想要預先填充該表單字段。我已經成功地編寫了查詢並通過執行cfdump成功輸出了該查詢。然而,我不知道我將如何自動填充這些字段的基礎上,我把它放在表單文本字段中的訂單號碼呢?如果我將我準備的查詢中的變量放入value,它將預先填充表單字段,但我希望表單字段根據我爲訂單#放置的內容進行更新?基於來自查詢的表單輸入預填充表單字段

我必須使用JavaScript才能完成此操作嗎?

這是我的輸入表單。

<label for="ordernum">Order #</label> 
<input type="text" name="ordernum" value=""> 
<label for="companyname">Company Name</label> 
<input type="text" name="companyname" value=""> 
<label for="resident">Resident</label> 
<input type="text" name="resident" value=""> 
<label for="complexname">Complex Name</label> 
<input type="text" name="complexname" value=""> 
<label for="suitenum">Suite #</label> 
<input type="text" name="suitenum" value=""> 

這裏是我的查詢

<cfquery name="testForm" datasource="randomData"> 
SELECT [COMPANY NAME] AS COMPANYNAME, [RESIDENT], [COMPLEX NAME] AS 
COMPLEXNAME, [SUITE##] AS SUITE, [ORDER##] AS ORDER 
FROM tests.DB 
WHERE [ORDER##] = 112211 
</cfquery> 

我試圖最初被包裹的形式輸入字段成CFOUTPUT查詢和分配變量到value輸入字段但那預填充它,我想要更新的表單信息。基於我爲訂單號字段輸入的內容。

任何意見將不勝感激。

+1

ajax調用是不刷新頁面的選項 – tech2017

回答

0

http://api.jquery.com/jquery.ajax/是你最好的選擇。在ordernum字段的第三個按鍵上,您可以使用ajax檢索查詢結果。我會用製表符分隔值來保持簡單。然後填寫該數據集中每列的字段。

<input type="text" name="ordernum" value="" id="search"> 
<script> 
$('#search').keyup(getResults); 
function getResults(){ 
    myVal = $('#search').val() ; 
    if (myVal.length < 3) { 
    $('#list').html(''); 
    } else { 
    $.ajax({ 
     url: './search.cfm?search='+myVal, 
     success: function(data) { 
      // fill in the fields with the data 
     }, 
     dataType: 'html', 
     timeout: 1000, 
     error: function(x, t, m) { 
     if(t==="timeout") { 
      alert("Something went wrong."); 
     } else { 
      alert(t); 
     } 
     } 
    }); 
    } 
} 
</script>