2014-05-24 2 views
0
이상한

행동 CodeIgniter의 폼에 버튼을 다른 제출; 다른 데이터는 완전히 검색됩니다.이 내가 양식을 제출 하나에 두 개의 버튼을 가지고 있지만 내가 제출 버튼을 게시 할 때 아무 것도 반환하지 않습니다

내가 제출 버튼에 대해 다른 이름을 사용하고 있지만 아무것도 작동 .. 누군가가 나를 도울 수 있을까요? 고맙습니다. FORM 데이터는 검색되지만 제출 버튼 값은 검색되지 않습니다. 나는 조건을 다르게 값을 필요

컨트롤러 : admin.php

 function submit_unitgroupwd(){ 
     $this->access_chk(); //CHECK USER ACCESS 

    $sbm=$this->input->post('sbm'); // returns NOTHING 
    echo $_POST["sbm"]; // returns undefined index sbm 
    echo $_POST['sbm']; // returns undefined index sbm 
var_dump($_POST); // returns all the post data bt the submit button 

//echo var_dump($this->input->post("sbm")); 
exit(); 

if($this->input->post('sbm') == "Update") { 
// do update 
} else { 
// do delete 
} 

} 

보기 :

echo "<form action=".site_url("admin/submit_unitgroupwd")." method=post id=form>"; 
echo "<div style='float:left;color:red;' id='res'></div>"; 
?><?php 
foreach($q1->result_array() as $r1){ 
$bankname= substr($r1["bank"],0,3); 
//echo $bankname; 


echo "<input type=hidden name=dgroup value='".$dgroup."'>"; 
echo "<tr>"; 
echo "<td width=20% colspan=3 style='font-size: 16px;'>".strtoupper($r1["bank"])."</td>"; 
echo "</tr>"; 
echo "<tr>"; 
echo "<td width=100>".$group_[0]."</td>"; 
echo "<td><input type=text name='$bankname-utama' value='".str_replace(" ","",$r1["utama"])."' style='width: 100%;'></td>"; 

if ($r1["bank"] == 'ALL'){ 
    echo "<td rowspan='1'><br><input type='checkbox' name='cek[]' id='cek[]' value='$bankname' ></td>"; 

    echo "<input type=hidden name=_code$bankname value='".$r1["bank"]."'>"; 
    echo "</tr>"; 
    echo "</tr>"; 
    continue; 
} 

echo "<td rowspan=".($dgroup + 1)."><br><input type='checkbox' name='cek[]' id='cek[]' value='$bankname' ><br><br><br><br><br><br><br>"; 
echo "<input type=hidden name=_code$bankname value='".$r1["bank"]."'>"; 

echo "</tr>"; 

$_alp = "a"; 
for ($_g=0; $_g<$dgroup; $_g++){ 
    echo "<tr>"; 
    echo "<td width=100>".$group_[($_g + 1)]."</td>"; 
    echo "<td width=80%><input type=text name='$bankname-wd$_alp' value='".str_replace(" ","",$r1["wd$_alp"])."' style='width: 100%;'></td>"; 
    echo "</tr>"; 
    $_alp++; 
echo "</tr>"; 

} 
} 
?> 
> 
<input type="submit" class="button" value='Update' name="sbm"/> 
<input type="submit" class="button" value='Delete' name="sbm"/> 

답변

0

당신은 단순히에만

<input type="submit" class="button" value='Update' name="sbm"/> 

을 사용하여 삭제 작업에 대한 앵커를 사용할 수,

echo "<a href ='controller_delete/$item_id' class='button'>Delete</a> 

당신이 내 포인트를 얻을 경우 일반적으로 늘 삭제 작업에 다른 입력을 필요로하기 때문이다.

2

나는 문제의 당신의 묘사에 완전히 명확하지 해요,하지만 당신이 할 수있는 ' 두 버튼 모두 동일한 버튼을 제출하십시오.

당신은 그 푸시 하나 또는 다른 버튼은 그 버튼의 값을 제출할 생각하는 것,하지만 양식의 마지막이기 때문에 사실 두 번째는 항상 제출됩니다.

그래서 "갱신"& "삭제"당신의 버튼 이름을 변경 한 다음 예를 들어

if(isset($_POST['update'])).... 

으로 확인할 수 있습니다.

그러나 인터넷을 둘러보고 내가 작성한 코드를 작성하는 방법에 대한 더 깨끗한 예를 원할 수 있습니다.

+0

죄송하지만 저는 CI 프레임 워크를 사용하여 다른 형식으로이 작업을 성공적으로 수행했습니다. 이것 좀보세요. http://stackoverflow.com/questions/11391007/how-to-put-2-different-submit-buttons-in-a-form-with-ci – xyonme

+0

내가 그렇군요 - 난 그 일 것이라고 생각하고, 정직하지 않았다 내가 그것을 믿을 지 확신하지 못한다. 어떤 경우에는, 양식은 admin/submit_unitgroupwd에 제출되어 있지만 컨트롤러는 관리자/submit_withdraw_admin이다, 그래서 위의 게시물을 정리하고 내가 사과 – jmadsen

+0

를 계속하기 전에 그런 일을 확인 할 수 있습니다. 실수로 컨트롤러의 다른 기능에서 복사하고있었습니다. 일단 책상으로 돌아 가면 당신의 생각을 시험해 볼 것입니다. 제프, 고마워. :) – xyonme

관련 문제