2014-11-07 4 views
-8

mysql에서 데이터를 가져 오는 PHP 페이지를 만들려고합니다. 데이터베이스에서 개체 목록을 가져 와서 각 개체를 다른 양식으로 표시하여 값을 편집 한 다음 편집 된 값만 저장합니다. 하지만 양식을 제출할 수 없습니다. json 부분과 jaascript를 호출 할 수 없습니다.PHP에서 양식을 제출할 수 없습니다

<!DOCTYPE html> 
<html><head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <title>Expert Edit</title> 


<script src="jquery-1.11.1.min.js"></script> 
<script> 
    $("myforms").submit(function(){ 

    alert("before submit"); 

    var data = { 
     "tag": "editadsdata", 
    }; 
    data = $(this).serialize() + "&" + $.param(data); 

    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: "http://localhost/expert.php", //Relative or absolute path to response.php file 
     data: data, 
     success: function(data) { 

     alert("Form submitted successfully."); 
     } 
    }); 



      return false; 
    }); 


</script> 


</head> 
<body> 

<?php 


$con=mysqli_connect("localhost","root","","expert"); 


     $result = mysqli_query($con,"select * from ads"); 
    $tmpCount = 1; 
    while($row = mysqli_fetch_array($result)) { 
    echo "<form action=\"\" class=\"myforms\" method=\"post\" accept-charset=\"utf-8\">"; 
    echo "<h2>New Entry ! $tmpcount</h2>"; 
    echo "URL : "; 
    echo '<td><a href="' . $row['url'] . '">[Link]</a></td>'; 
    echo "<input hidden=\"true\" name=\"url\"".$row['url']."\">"; 
    echo "<br>"; 
    echo "IMAGE : "; 
    echo "<img src=\"".$row['imagepath']."\" />"; 
    echo "<br>"; 
    echo "CATEGORY : "; 
    echo "<input type=\"text\" name = \"category\" value=\"".$row['category']."\">"; 
    echo "<br>"; 
    echo "SUB-CATEGORY : "; 
    echo "<input type=\"text\" name = \"subcategory\" value=\"".$row['subcategory']."\">"; 
    echo "<br>"; 
    echo "DESCRIPTION : "; 
    echo "<input type=\"text\" name = \"description\" value=\"".$row['description']."\">"; 
    echo "<br>"; 
    echo "PRICE RANGE : "; 
    echo $row['pricerange']; 
    echo "<br>"; 
    echo "TAG : "; 
    echo "<input type=\"text\" name = \"tags\" value=\"".$row['tag']."\">"; 
    echo "<br>"; 
    echo "UPLOADED BY : "; 
    echo $row['uploadedby']; 
    echo "<br>"; 
    echo "<input type=\"submit\" name=\"Submit\" value=\"submit\" />"; 
    echo "</form>"; 
    $tmpcount++; 
} 

mysqli_close($con); 
?> 



    </body></html> 

이 내용을 확인하십시오. 이것은 작동하지만 이것은 html로되어 있습니다. 내가 그것을 원한다면 PHP는

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="content-type" content="text/html;   charset=UTF-8"> 
    <title>demo</title> 

    <script type='text/javascript' src='//code.jquery.com/jquery-1.10.1.js'></script> 




    <link rel="stylesheet" type="text/css" href="/css/result- light.css"> 

    <style type='text/css'> 

    </style> 



<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){ 
$('.myForms').submit(function() { 
alert($(this).attr("id")); 
return true; 
}); 
});//]]> 

</script> 


</head> 
<body> 
<form action="http://www.google.com" method="get" class="myForms" id="1stform"> 
    <input type="text" value="1st Form" name="q1" /> 
<input type="submit" value="Submit ALL" /> 
</form> 
<form action="http://www.google.com" method="get"  class="myForms" id="2ndform"> 
<input type="text" value="2nd Form" name="q2" /> 
<input type="submit" value="Submit ALL" /> 
</form> 
<form action="http://www.google.com" method="get" class="myForms" id="3rdform"> 
<input type="text" value="3rd Form" name="q3" /> 
<input type="submit" value="Submit ALL" /> 
</form> 


</body> 


</html> 
+5

"제출할 수 없음"이란 무엇을 의미합니까? –

+1

아래 답변은 jQuery 선택기에서 ID 또는 클래스를 호출하지 않는다는 의미입니다. –

답변

8

당신이 사용하기 때문에 : $("myforms"). 이 같은 요소는 없습니다. myforms이 양식의 ID가 다음의 경우 사용

$('#myforms') 

이 그것의 클래스는 다음 또한

$('.myforms') 

경우 당신은 아약스에서 일부 오류가 있습니다

var data = { 
    "tag": "editadsdata", 
}; 
data = $(this).serialize() + "&" + $.param(data); 

당신 때문에 데이터가 json 인 것으로 정의하고 데이터를 문자열로 덮어 쓰면 실패합니다.

+0

양식 클래스를 사용하고 있으며이를 사용하는 것이 유효합니다. 하지만 문제는 내가 제출 기능을 호출해야합니다. 클래스에 대한 작업을 추가하면 작동합니다. –

+0

$ ("myforms") 만 있습니다. 그것은 작동하지 않습니다. – vcanales

+0

나는 데이터가있는 3,4 가지 형식의 일반 HTML에서 동일한 코드를 사용하고 myforms submit 기능을 사용하여 같은 코드를 보내려고했습니다. 작동하고 있습니다. 하지만 문제는 때 PHP를 사용하여 온다 –

관련 문제