2011-09-07 181 views
0

我在一个文件上的表单有问题。 问题是,当我点击提交...它提交第一个表单数据,而不是该人填写的表单,即使您可以从下面的代码中看到,我为每个表单指定了一个特定的ID。无法在单个html页面上提交多个表单

我使用的是PHP文件提交数据给mysql的

这里是我的代码:

case 'upd_chpt': 
if($_POST['does'] == 'upd_chpt') 
{ 
    $chId = $_POST['chId']; 
    $name = $_POST['name']; 
    $nums = $_POST['nums']; 
    $mngs = $_POST['mang']; 
    $ch_trans = $_POST['ch_trans']; 
    $ch_down = $_POST['ch_down']; 
    $ch_translate = $_POST['ch_translate']; 
    $ch_clean = $_POST['ch_clean']; 
    $ch_editor = $_POST['ch_editor']; 
    if(!empty($chId) && !empty($name) && !empty($nums) && !empty($mngs) && !empty($ch_trans)) 
    { 
     $mnG = explode(',' , $mngs); 
     $qup = $db->query("UPDATE chapter SET ch_name = '".$name."', chapter_num = '".$nums."', manga_id = '".$mnG[0]."', manga_title = '".$mnG[1]."', manga_name = '".$mnG[2]."', ch_down = '".$ch_down."', ch_translate = '".$ch_translate."', ch_clean = '".$ch_clean."', ch_editor = '".$ch_editor."', ch_trans = '".$ch_trans."' WHERE ch_Id = '".$chId."' "); 
     if($qup) 
     { 
      echo "updated successfully"; 
     } 
     else 
     { 
      echo "erorr "; 
     } 
    } 
    else 
    { 
     echo "please fill all the fields !"; 
    } 
} 
break; 

的html代码:

<form id="edit_{$ch[ch].ch_Id}"> 
    <input type="hidden" name="chid" value="{$mn[mn].ch_Id}" /> 
    <label>chapter number</label> 
    <input type="text" id="chaptr" name="chaptr" value="{$ch[ch].chapter_num}" class="short" /> 
    <label>chapter title </label> 
    <input type="text" id="name" name="name" value="{$ch[ch].ch_name}" class="short" /> 
    <label>manga related to chapter</label> 
    <select id="mansga" name="manga"> 
     {section name='mn' loop=$mng} 
      <option value='{$mng[mn].mn_Id},{$mng[mn].mn_title},{$mng[mn].mn_name}' {if $mng[mn].mn_Id==$ch[ch].manga_id}selected="true" {/if}> 
       {$mng[mn].mn_name} 
      </option> 
     {/section} 
    </select> 
    <label>chapter link</label> 
    <input type="text" id="ch_down" name="ch_down" value="{$ch[ch].ch_down}" class="short" /> 
    <label>all credit goes to</label> 
    <input type="text" id="ch_trans" name="ch_trans" value="{$ch[ch].ch_trans}" class="short" /> 
    <label>translated by</label> 
    <input type="text" id="ch_translate" name="ch_translate" value="{$ch[ch].ch_translate}" class="short" /> 
    <label>cleaned by</label> 
    <input type="text" id="ch_clean" name="ch_clean" value="{$ch[ch].ch_clean}" class="short" /> 
    <label>edited by</label> 
    <input type="text" id="ch_editor" name="ch_editor" value="{$ch[ch].ch_editor}" class="short" /> 
    <label><input type="submit" class="submit" value="تعديل" /></label> 
</form> 

的javascript:

$('[id^=edit_]').submit(function(){ 
    var id = $(this).attr('id').split('_')[1]; 
    var name = $('#name').val(); 
    var nums = $('#chaptr').val(); 
    var mang = $('#mansga').val(); 
    var ch_trans = $('#ch_trans').val(); 
    var ch_down = $('#ch_down').val(); 
    var ch_translate = $('#ch_translate').val(); 
    var ch_clean = $('#ch_clean').val(); 
    var ch_editor = $('#ch_editor').val(); 
    $.post("action.php", {does: 'upd_chpt' ,ch_trans:ch_trans, ch_down:ch_down, ch_translate:ch_translate , ch_clean:ch_clean , ch_editor:ch_editor , chId:id , name: name, nums: nums, mang:mang},function(m){ 
     alert(m); 
    }); 
    return false 
}); 

这个代码可以是c绞死?并且只有php + html没有javascript! ......因为我觉得该id = “” 是问题

+0

什么是你的HTML代码? – Nightfirecat

+0

检查你的html。这可能是您的网页无效。首先通过html验证器运行它:http://validator.w3.org/ – Candide

+0

我编辑了这个问题:) – shnisaka

回答

0

的错误是在第二行 {$百万[万] .ch_Id}应该是{$ CH [CH] .ch_Id}

相关问题