2017-04-26 69 views
1

我正在開發面部識別系統。當我使用網絡攝像頭捕獲圖像時,網址會加載到表單中的文本框中。現在我希望表單提交和處理PHP,如果它是subimitted。這裏是我的形式當文本框內容發生變化時自動提交表格

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post" enctype="multipart/form-data" id="frmsubmit"> 
               <input type="text" class="form-control input-sm" id="imgsrc" name="imgsrc"> 
                <input type="submit" value="AUTHENTICATE" class="btn btn-primary" data-loading-text="Loading..." name="send" id="submit"> 
                </form> 

和我的JavaScript

<script language="JavaScript"> 
webcam.set_api_url('present.php'); 
    webcam.set_quality(100); // JPEG quality (1 - 100) 
    webcam.set_shutter_sound(true); // play shutter click sound 
    webcam.set_hook('onComplete', 'my_completion_handler'); 

    function take_snapshot(){ 
     // take snapshot and upload to server 
     document.getElementById('upload_results').innerHTML = '<h1>Uploading Image To Database...</h1>'; 
     webcam.snap(); 
    } 

    function my_completion_handler(msg) { 
     document.getElementById("imgsrc").value=msg; 
     // extract URL out of PHP output 
     if (msg.match(/(http\:\/\/\S+)/)) { 
      // show JPEG image in page 

      document.getElementById('upload_results').innerHTML ="<div class='alert alert-success fade in'> <i class='icon-remove close' data-dismiss='alert'></i> <strong>Success!</strong>Image Captured And Uploaded Successfully </div>"; 
      document.getElementById('upload_img').innerHTML ="<img src="+msg+" class=\"images\">"; 
      // reset camera for another shot 
      webcam.reset(); 
      document.getElementById('frmsubmit').submit(); 
     } 
     else {alert("PHP Error: " + msg); 
    } 
    } 
</script> 

和PHP代碼

if(isset ($_POST["send"])) 

{如果你給形式的ID

+0

我沒有看到表單標籤有ID =「frmsubmit」屬性! – Digvijay

+0

對不起,我錯過了粘貼代碼 –

回答

0

使用提交按鈕點擊觸發例如

document.getElementById("submit").click(); 

您正在使用的document.getElementById( 'frmsubmit' )。提交();但你沒有這個ID的任何形式,但你已經提交按鈕提交ID。所以這段代碼將爲你工作。

+0

它提交但不運行php腳本並在刷新後給出空白頁 –

+0

@ N.Felix請嘗試此腳本<?php if(isset($ _REQUEST ['imgsrc'])){ print_r($ _ REQUEST ['imgsrc']); } ?> – mandeepsinghn

+0

它的工作。非常感謝你 –

0

<form action="someaction" method="post" id="someform"> 

您可以使用jQuery觸發submit事件

$('#someform').trigger('submit'); 

$('#someform').submit(); 
+0

將提交事件後我的攝像頭快照方法? –

+0

只要你在代碼中觸發它就會發生事件 –

0

嘗試......

$('#imgsrc').on('change', function(){ 
    $(this).parent().submit(); 
}) 
+0

一定要把這個腳本放在表單標籤之後或放在jQuery的document.ready方法中 –

+0

我想在我的webcam take_snapshot()方法之後觸發這個腳本在我的javascript中 –

+2

請解釋你的代碼而不是簡單地說「試試這個。 「 –

0

您可以添加屬性的onchange文本框

onchange="this.form.submit()" 
相關問題