2013-12-12 52 views
0

我有兩個方案:給ajaxForm插件形式提交,通常沒有Ajax

第一:我有我正在使用給ajaxForm插件上傳通過Ajax文件的頁面上的HTML表單,它工作正常。

第二:我通過php和ajax生成另一個HTML表單,我試圖使用相同的插件,但它通常會提交表單並在瀏覽器中回顯結果。

是不是ajaxForm在動態生成的表單上工作?我知道這甚至只是愚蠢的問題,但我目前的情況似乎讓我相信。

請幫助...

第一類:這是寫在HTML頁面靜態表單。 給ajaxForm工作在這個罰款...

<form action="brand_add.php" method="post" enctype="multipart/form-data" name="brands_form" id="brands_form"> 
<input type="hidden" name="brand_timeVal" id="brand_timeVal" /> 
<table> 
<tr><td><label>Title<label></td></tr> 
<tr><td><input type="text" id="brand_title" name="brand_title" autocomplete="off" class="large inputTexts" placeholder="e.g. Adidas, Puma, SS, BDM, Cosco, Head, Spalding etc..." /></td></tr> 
<tr><td><label>Description<label></td></tr> 
<tr><td><textarea class="inputTexts" id="brand_desc" name="brand_desc"></textarea></td>    </tr> 
<tr><td><label>Brand Image<label></td></tr> 
<tr><td><input type="file" name="brand_img" id="brand_img" onchange="sub(this,this.id)"> </td></tr> 
<tr><td><input type="submit" class="saveButton" value="Save" id="brand_save_btn" onclick="timing(this.id,'brand_timeVal');"><button type="button" onclick="clearBox(); return false" class="cancelButton" style="margin-left:5px;">Cancel</button></td></tr> 
</table> 
</form> 

第二形態:這是通過Ajax請求動態生成。 AJAXFORM不起作用。

<?php 

$response .= "<div class='update_box_header'><span class='breadcrumb'><a href='brands.php'>Brands</a></span>/Update Brand</div> 
<div class='update_box_form'> 
<form action='#' method='post' enctype='multipart/form-data' name='brands_form_update' id='brands_form_update'> 
<input type='hidden' name='brand_timeVal_update' id='brand_timeVal_update' /> 
<input type='hidden' name='brand_update_id' value='".$id."' /> 
<input type='hidden' name='brand_update_file_toggler_value' value='1' /> 
<table> 
<tr><td><label>Title<label></td></tr> 
<tr><td><input type='text' id='brand_title_update' name='brand_title_update' class='large inputTexts' value='".$row1['name']."' /></td></tr> 
<tr><td><label>Description<label></td></tr> 
<tr><td><textarea class='inputTexts' id='brand_desc_update' name='brand_desc_update'>".$row1['description']."</textarea></td></tr> 
<tr><td><label>Brand Image<label></td></tr> 

<tr><td id='brand_img_field'><img src='assets/brands/banners/".$img_path."' border='0' width='100' height='50' /></td></tr> 
<tr><td><label>Upload New Image<label></td></tr> 
<tr><td><input type='file' accept='image/*' name='brand_img_update' id='brand_img_update' onchange='sub(this,this.id)'></td></tr> 
<tr><td><label>Status<label></td></tr> 
<tr><td><select name='brand_life_update' id='brand_life_update'>"; 
     if($row1['status'] == 1){ 
$response .= "<option value='1' selected>Active</option><option value='0'>Inactive</option>"; 
      } 
     else if($row1['status'] == 0) { 
$response .= "<option value='1'>Active</option><option value='0' selected>Inactive</option>"; 
      } 

    $response .= "</select></td></tr> 
<tr><td><input type='submit' class='saveButton' value='Save' id='brand_update_btn' onclick='timing(this.id,'brand_timeVal_update');'><button type='button' onclick='clearUpdateBox(); return false' class='cancelButton' style='margin-left:5px;'>Cancel</button></td></tr> 
</table> 
</form> 
</div>"; 


?> 
+0

你可以給我們一個Fidde /一些代碼,所以我們可以嘗試瞭解發生了什麼問題? – daker

+0

@daker我有兩種形式,一種是用HTML(靜態)編寫的,另一種是通過AJAX動態生成的。你想讓我在這裏寫兩個表格嗎? – coder101

+0

@daker我編輯了這個問題.. – coder101

回答

1

發佈您的JavaScript代碼。


盲的猜測是:你想設置你給ajaxForm 之前它是在頁面實際存在。

如果要在'#brands_form_update'上運行ajaxForm,則必須請求它,將其插入文檔中,然後然後調用ajaxForm。這應該給這樣的東西:

// $.get(...) sends the request 
// $(..).append inserts the form inside the document 
// $('#brands_form_update').ajaxForm() sets up the form 
$.get('myDynamicForm.php', { ...data...}, function(html){ 
    $('*mySelector*').append(html); 
    $('#brands_form_update').ajaxForm(); 
});