|
|
|
อยากขอแนวทางแก้ไขครับกับปัญหาในการตรวจเช็คข้อมูลการกรอกครับ |
|
|
|
|
|
|
|
คือตามเว็บนี้สมัครล็อคอินเสร้จลงประกาศ
https://www.dd-thproperty.com/add-property/?action=add
พอมาขั้นตอนลงประกาศสิ่งที่เกิดขึ้น
เวลากดบันทึกเลย มันจะขึ้นจุดที่เราไม่ได้พิม
แต่ถ้าเราพิมลงไป บางช่อง มันก้อจะหายบางช่องไม่ได้พิมสีมันก้อหาย
แบบนี้จะแก้ไขยังไงครับให้มันหายเป็นเฉพาะช่องที่เราพิมแล้วอะครับ
โค๊ดด้านล่างคือในส่วนของหน้านี้ครับ
Code (PHP)
<?php
// if ( isset($_REQUEST['message']) && ($_REQUEST['message']=="ok")){
// $user_login = stripslashes($current_user->user_login);
// $user_email = stripslashes($current_user->user_email);
// $admin_order_link = admin_url( 'post.php?post=' . absint( $_pro_id ) . '&action=edit' );
// $message = __('New Add Property','wpdt-property-submit') . "\n\n";
// $message .= sprintf(__('Title: %s','wpdt-property-submit'), $_pro_title) . "\n";
// $message .= sprintf(__('Username: %s','wpdt-property-submit'), $user_login) . "\n\n";
// //$message .= sprintf(__('E-mail: %s','wpdt-property-submit'), $user_email) . "\n\n";
// $message .= sprintf(__('View Detail: %s','wpdt-property-submit'), $admin_order_link);
// //echo $message;
// do_action('wpdt_line_notify_text',$message);
// }
$status = isset($_REQUEST['message']) ? $_REQUEST['message'] : "ok";
if($status=='ok'){
echo '<p class="alert alert-success" role="alert"> <strong>เราได้รับข้อมูลของคุณเชิญลงประกาศได้แล้วค่ะ</strong>';
echo '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>';
echo '</p>';
}
?>
<h1><?php
echo __('New Add Property','wpdt-property-submit');
?></h1>
<form action="<?php //the_permalink(); ?>" method="post" enctype="multipart/form-data" name="wpdt_property_submit_form" id="wpdt_property_submit_form" >
<div class="entry-header">
<div class="title-info">
<p class="subtmi-title">
<label>ชื่ออสังหาริมทรัพย์ *จำเป็นต้องกรอกด้วย*</label>
<input class="title-text widefat" autofocus placeholder="ใส่ชื่ออสังหาริมทรัพย์ให้ครบถ้วน" name="_pro_title" id="_pro_title" type="text" value="<?php echo $_pro_title; ?>" />
</p>
</div>
</div>
<div class="row">
<div class="col-md-8 col-sm-8">
<div class="entry-meta">
<span class="proprty-info bedrooms">
<label>จำนวนห้องนอน</label><br>
<select name="_pro_bedrooms" class="small-select">
<option value="" <?php if (!(strcmp("", $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>-</option>
<option value="1" <?php if (!(strcmp(1, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>1</option>
<option value="2" <?php if (!(strcmp(2, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>2</option>
<option value="3" <?php if (!(strcmp(3, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>3</option>
<option value="4" <?php if (!(strcmp(4, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>4</option>
<option value="5" <?php if (!(strcmp(5, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>5</option>
<option value="6" <?php if (!(strcmp(6, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>6</option>
<option value="7" <?php if (!(strcmp(7, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>7</option>
<option value="8" <?php if (!(strcmp(8, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>8</option>
<option value="9" <?php if (!(strcmp(9, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>9</option>
<option value="10" <?php if (!(strcmp(10, $_pro_bedrooms))) {echo "selected=\"selected\"";} ?>>10</option>
</select>
</span>
<span class="proprty-info bathrooms">
<label>จำนวนห้องน้ำ</label><br>
<select name="_pro_bathrooms" class="small-select">
<option value="" <?php if (!(strcmp("", $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>-</option>
<option value="1" <?php if (!(strcmp(1, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>1</option>
<option value="2" <?php if (!(strcmp(2, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>2</option>
<option value="3" <?php if (!(strcmp(3, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>3</option>
<option value="4" <?php if (!(strcmp(4, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>4</option>
<option value="5" <?php if (!(strcmp(5, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>5</option>
<option value="6" <?php if (!(strcmp(6, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>6</option>
<option value="7" <?php if (!(strcmp(7, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>7</option>
<option value="8" <?php if (!(strcmp(8, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>8</option>
<option value="9" <?php if (!(strcmp(9, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>9</option>
<option value="10" <?php if (!(strcmp(10, $_pro_bathrooms))) {echo "selected=\"selected\"";} ?>>10</option>
</select>
</span>
<p class="proprty-info area">
<label>พื้นที่ใช้สอย</label><br>
<input class="small-text" name="_pro_area" type="text" value="<?php echo $_pro_area; ?>" /> (ตรม.)
<input class="small-text" name="_pro_floor" type="text" value="<?php echo $_pro_floor; ?>" /> ชั้น
</p>
</div>
<div role="main" class="site-content single-property" id="content">
<div class="form-submit">
<div class="propery-infos">
<h3 class="post-subject">ข้อมูลประกาศ *ควรลงให้ละเอียด*</h3>
<div class="proerpty-list-info">
<p class="proerpty-name">
<label class="label">ชื่อโครงการ</label>
<span class="text">
<input class="large-text" name="_pro_project" type="text" id="_pro_project" value="<?php echo $_pro_project; ?>" />
</span>
</p>
</div>
<div class="proerpty-list-info">
<div class="proerpty-name">
<label class="label">มีความต้องการ</label>
<div class="text">
<ul class="proeoty-info-right">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('property_type', $args);
$count = count($terms); $i=0;
if ($count > 0) {
foreach ($terms as $term) {
$checked = "";
if (in_array($term->term_id, $_pro_property_type)) {
$checked = 'checked="checked"';
}
echo '<li><label><input '.$checked.' name="_pro_property_type[]" type="checkbox" value="'.$term->term_id.'" /> '.trim($term->name).'</label></li>';
}
}
?>
</ul>
</div>
</div>
</div>
<div class="proerpty-list-info">
<p class="proerpty-name">
<label class="label">ประเภทประกาศ</label>
<span class="text">
<select name="_pro_type" id="_pro_type">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('category', $args);
$count = count($terms); $i=0;
if ($count > 0) {
echo '<option value="">--เลือกประเภทประกาศ--</option>';
foreach ($terms as $term) {
echo '<option value="'.$term->term_id.'" '.selected($_pro_type, $term->term_id ,false).'>'.$term->name.'</option>';
}
}
?>
</select>
</span>
</p>
</div>
<div class="proerpty-list-info">
<p class="proerpty-name">
<label class="label">ขนาดที่ดิน</label>
<span class="text">
<input class="small-text" name="_pro_area_land" placeholder="ไร่-งาน-ตรว" type="text" value="<?php echo $_pro_area_land; ?>" /> (ไร่)
</span>
</p>
</div>
<div class="proerpty-list-info">
<p class="proerpty-name">
<label class="label">จังหวัด</label>
<span class="text">
<select name="_pro_location" id="_pro_location">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('location', $args);
$count = count($terms); $i=0;
if ($count > 0) {
echo '<option value="">--เลือกจังหวัด--</option>';
foreach ($terms as $term) {
echo '<option value="'.$term->term_id.'" '.selected($_pro_location, $term->term_id ,false).'>'.$term->name.'</option>';
}
}
?>
</select>
</span>
</p>
</div>
<div class="proerpty-list-info address">
<div class="proerpty-name">
<label class="label">ตำบล/อำเภอที่ตั้ง</label>
<div class="text">
<input id="_pro_address" class="large-text" name="_pro_address" type="text" value="<?php echo $_pro_address; ?>" />
</div>
</div>
</div>
<div class="proerpty-list-info voyage">
<div class="proerpty-name">
<label class="label">การเดินทาง</label>
<div class="text">
<textarea class="large-text" name="_pro_voyage" id="_pro_voyage" cols="70" rows="2"><?php echo $_pro_voyage ; ?></textarea>
</div>
</div>
</div>
<div class="proerpty-list-info map">
<div class="proerpty-name">
<label class="label">แผนที่</label>
<div class="text">
<input id="_pro_lat" name="_pro_lat" type="hidden" value="<?php echo $_pro_lat; ?>" />
<input id="_pro_lng" name="_pro_lng" type="hidden" value="<?php echo $_pro_lng; ?>" />
<input id="_pro_zoom" name="_pro_zoom" type="hidden" value="<?php echo $_pro_zoom; ?>" />
<div class="map-search-box">
<input id="map_search_input" name="map_search_input" type="text" />
</div>
<div data-zoom="<?php echo $_pro_zoom; ?>" data-lng="<?php echo $_pro_lng; ?>" data-lat="<?php echo $_pro_lat; ?>" id="property-map"> </div>
<style type="text/css">
#property-map{ height:250px; width:100%; display:block; border:1px solid #CCCCCC; }
#map_search_input{
background-color: #FFFFFF;
font-weight: 300;
padding: 0 11px 0 13px;
text-overflow: ellipsis;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
border: 1px solid transparent;
-moz-box-sizing: border-box;
outline: none;
margin-top: 10px;
height: 40px;
}
.wp-editor-container{ border:#ccc solid 1px; }
</style>
</div>
<script type="text/javascript">
jQuery(document).ready(function ($) {
if($('#property-map').length != 0) {
var latitude = $('#property-map').data('lat');
var longitude = $('#property-map').data('lng');
var zoom = $('#property-map').data('zoom');
latlng = new google.maps.LatLng(latitude, longitude);
zoom = 17;
var mapOptions = {
center: latlng,
zoom: zoom,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map($('#property-map').get(0), mapOptions);
var input = $('#map_search_input').get(0);
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
var autocomplete = new google.maps.places.Autocomplete(input);
autocomplete.bindTo('bounds', map);
var marker = new google.maps.Marker({
map: map,
draggable: true
});
marker.setPosition(latlng);
google.maps.event.addListener(autocomplete, 'place_changed', function() {
var place = autocomplete.getPlace();
if (place.geometry.viewport) {
map.fitBounds(place.geometry.viewport);
} else {
map.setCenter(place.geometry.location);
map.setZoom(17);
}
marker.setPosition(place.geometry.location);
$("#_pro_lat").val(place.geometry.location.lat());
$("#_pro_lng").val(place.geometry.location.lng());
$("#_pro_zoom").val(map.getZoom());
});
google.maps.event.addListener(marker, 'drag', function() {
$('#_pro_lat').val(marker.getPosition().lat());
$('#_pro_lng').val(marker.getPosition().lng());
$("#_pro_zoom").val(map.getZoom());
});
$(input).keypress(function(event) {
if(event.keyCode == 13) {
event.preventDefault();
}
});
}
});
</script>
</div>
</div>
<div class="proerpty-list-info rate-price">
<div class="proerpty-name">
<label class="label">เรทราคาใกล้เคียง</label>
<span class="text">
<select name="_pro_price_rate" id="_pro_price_rate">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('price_rate', $args);
$count = count($terms); $i=0;
if ($count > 0) {
echo '<option value="">--เลือกเรทราคาใกล้เคียง--</option>';
foreach ($terms as $term) {
$i++;
echo '<option value="'.$term->term_id.'" '.selected($_pro_price_rate,$term->term_id,false).'>'.$term->name.'</option>';
}
}
?>
</select>
</span>
</div>
</div>
<div class="proerpty-list-info price">
<div class="proerpty-name">
<label class="label">ราคาสำหรับขาย</label>
<div class="text price">
<input class="small-text number" name="_pro_pricex" id="_pro_pricex" type="text" value="<?php echo $_pro_price; ?>" />
<input name="_pro_price" type="hidden" id="_pro_price" value="<?php echo $_pro_price; ?>" />
</div>
</div>
</div>
<div class="proerpty-list-info price-rent">
<div class="proerpty-name">
<label class="label">ราคาสำหรับให้เช่า</label>
<div class="text price">
<input class="small-text number" name="_pro_price_rentx" type="text" id="_pro_price_rentx" value="<?php echo $_pro_price_rent; ?>" />
<input name="_pro_price_rent" type="hidden" id="_pro_price_rent" value="<?php echo $_pro_price_rent; ?>" />
</div>
</div>
</div>
<p> </p>
<div class="proerpty-list-info length">
<h3 class="post-subject">สิ่งอำนวยความสะดวก</h3>
<p class="proerpty-list-info">
<label class="label abel post-subject-2">สถานที่ใกล้เคียง</label>
</p>
<ul class="proeoty-info">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('nearby', $args);
$count = count($terms); $i=0;
if ($count > 0) {
foreach ($terms as $term) {
$checked = "";
if (in_array($term->term_id, $_pro_nearby)) {
$checked = 'checked="checked"';
}
echo '<li><label class="checked"><input '.$checked.' name="_pro_nearby[]" type="checkbox" value="'.$term->term_id.'" /> '.trim($term->name).'</label></li>';
}
}
?>
</ul>
<p></p>
<p class="proerpty-list-info length">
<label class="label abel post-subject-2">สิ่งอำนวยความสะดวกภายนอก</label>
</p>
<ul class="proeoty-info">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('facilities_outside', $args);
$count = count($terms); $i=0;
if ($count > 0) {
foreach ($terms as $term) {
$checked = "";
if (in_array($term->term_id, $_pro_facilities_outside)) {
$checked = 'checked="checked"';
}
echo '<li><label class=" checked"><input '.$checked.' name="_pro_facilities_outside[]" type="checkbox" value="'.$term->term_id.'" /> '.trim($term->name).'</label></li>';
}
}
?>
</ul>
<p></p>
<p class="proerpty-list-info length">
<label class="label post-subject-2">สิ่งอำนวยความสะดวกภายใน</label>
</p>
<ul class="proeoty-info">
<?php
$args = array( 'hide_empty' => false );
$terms = get_terms('facilities_inside', $args);
$count = count($terms); $i=0;
if ($count > 0) {
foreach ($terms as $term) {
$checked = "";
if (in_array($term->term_id, $_pro_facilities_inside)) {
$checked = 'checked="checked"';
}
echo '<li><label class="checked"><input '.$checked.' name="_pro_facilities_inside[]" type="checkbox" value="'.$term->term_id.'" /> '.trim($term->name).'</label></li>';
}
}
?>
</ul>
<p></p>
</div>
</div>
</div>
<p class="description">
<h3 class="post-subject">รายละเอียดเพิ่มเติม</h3>
<?php
$settings = array( 'textarea_name,'=>'_pro_description' , 'media_buttons' => false,'editor_height'=>20 ,'teeny'=>true,'dfw'=>true,'quicktags'=>false);
wp_editor( $_pro_description , "_pro_description" ,$settings);
?>
</p>
<p class="tags">
<label class="post-tags">แท็ก</label>
<input class="large-text" placeholder="ตัวอย่าง: แท็ก1,แท็ก2,แท็ก3,..." name="_pro_tags" id="_pro_tags" type="text" value="<?php echo $_pro_tags; ?>" />
</p>
<div class="property-gallery">
<h3>เกลอรี่</h3>
<div class="panel panel-default photox">
<?php
$images_limit = 12;
echo '<div class="col-sm-12 upload-thumbnails">';
foreach($_pro_images as $_pro_image_id){
$image_attributes = wp_get_attachment_image_src( $_pro_image_id,'large' );
$image_attributes_thumbnail = wp_get_attachment_image_src( $_pro_image_id,'thumbnail' );
echo '<div class="upload-thumbnail"><img src="'.$image_attributes_thumbnail[0].'" />';
echo ' <div class="actions">';
echo ' <a class="action del" href="#" data-id="'.$_pro_image_id.'" data-postid="'.$_pro_id .'">'._('ลบ').'</a>';
echo ' <span class="step"> | </span>';
echo ' <a class="action featured" href="#" data-id="'.$_pro_image_id.'" data-postid="'.$_pro_id .'">'._('ตั้งเป็นภาพหลัก').'</a>';
echo ' </div>';
echo '</div>';
}
echo '</div>';
for($file=1; $file <= ($images_limit-count($_pro_images)); $file++){
?>
<p class="col-sm-6">
<label class="inline">เลือกรูปที่ <?php echo $file; ?> : </label>
<input type="file" name="_pro_images[]" id="images<?php echo $file; ?>">
</p>
<?php } ?>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-sm-4">
<div class="widget contact-info">
<h3 class="widget-title">ข้อมูลผู้ประกาศ</h3>
<div class="widget-content">
<p class="contact-name">
<label>ชื่อผู้ติดต่อ</label>
<input class="large-text" name="_pro_contact_name" type="text" value="<?php echo esc_html( um_user( 'display_name' ) ); ?>" readonly />
</p>
<p class="phone">
<label>เบอร์โทรผู้ติดต่อ</label>
<input class="large-text" name="_pro_contact_phone" type="text" value="<?php echo esc_html( um_user( 'phone_number' ) ); ?>" />
</p>
<p class="lineid">
<label>LINE ID</label>
<input class="large-text" name="_pro_contact_line_id" type="text" value="<?php echo $_pro_contact_line_id; ?>" />
</p>
<p class="facebook">
<label>ชื่อเฟสบุ๊ค</label>
<input class="large-text" name="_pro_contact_facebook" type="text" value="<?php echo esc_html( um_user( 'user_facebook' ) ); ?>" />
</p>
<p class="email">
<label>อีเมล์ผู้ติดต่อ</label>
<input class="large-text" name="_pro_contact_email" type="text" value="<?php echo esc_html( um_user( 'user_email' ) ); ?>" readonly/>
</p>
</div>
<div class="scatteringx">
<label>จุดเด่น</label>
<textarea class="large-text " name="_pro_scattering" cols="20" rows="3"><?php echo $_pro_scattering; ?></textarea>
</div>
</div>
</div>
</div>
<div class="clear"></div>
<div class="entry-footer">
<hr />
<input name="_pro_id" type="hidden" value="<?php echo $_pro_id; ?>">
<input type="submit" name="submit" id="submit" class="button button-primary" value="ลงประกาศ" >
<?php if(false){ ?>
<input name="_pro_status" type="hidden" value="<?php echo $_pro_status; ?>">
<?php }else{ ?>
<select name="_pro_status" class="select-statu" style="height: 42px; float: left; margin-right: 10px; padding: 5px;">
<option value="publish" <?php if (!(strcmp("publish", $_pro_status))) {echo "selected=\"selected\"";} ?>>เผยแพร่(ห้ามคลิกเปลื่ยน)</option>
</select>
<?php } ?>
<?php
if(isset($_REQUEST['action']) && $_REQUEST['action']=="update"){
wp_nonce_field('update_wpdt_property_submit','update_wpdt_property_submit_field');
?>
<?php if($_pro_status == "draft"){ ?>
<a target="_blank" href="<?php echo esc_url( home_url( '/' ) ); ?>?p=<?php echo $_pro_id ; ?>&preview=true" class="button proview">(สถานะยังไม่เผยแพร่) ดูตัวอย่าง </a>
<?php } ?>
<?php if($_pro_status == "publish"){
if(isset($_REQUEST["message"])){
wp_redirect( esc_url( add_query_arg( 'postid', get_permalink($_pro_id), home_url( '/thkpost' ) ) ) );
}
} ?>
<?php
}else{
wp_nonce_field('add_wpdt_property_submit','add_wpdt_property_submit_field');
}
?>
</div>
</form>
<input type="hidden" id="submitx" value=0>
<script type="text/javascript">
if (typeof $ == 'undefined') {
var $ = jQuery;
}
$(document).ready(function(){
$('.number').number(true,2);
$('#_pro_price_rentx').keyup(function(){
var numb = $(this).val();
numb = parseFloat(numb.replace(",", ""),2);
console.log(numb);
$('#_pro_price_rent').val(numb);
});
$('#_pro_pricex').keyup(function(){
var numb = $(this).val();
numb = parseFloat(numb.replace(",", ""),2);
console.log(numb);
$('#_pro_price').val(numb);
});
$('#wpdt_property_submit_form').submit(function(e){
var data= {};
data["_pro_title"] = $('#_pro_title').val();
data["_pro_project"] = $('#_pro_project').val();
data["_pro_property_type"] = false;
$('input[name="_pro_property_type[]"]').each(function(){
if($(this).is(':checked')){
data["_pro_property_type"] = true;
}
});
/* data["_pro_nearby"] = false;
$('input[name="_pro_nearby[]"]').each(function(){
if($(this).is(':checked')){
data["_pro_nearby"] = true;
}
});
data["_pro_facilities_outside"] = false;
$('input[name="_pro_facilities_outside[]"]').each(function(){
if($(this).is(':checked')){
data["_pro_facilities_outside"] = true;
}
});
data["_pro_facilities_inside"] = false;
$('input[name="_pro_facilities_inside[]"]').each(function(){
if($(this).is(':checked')){
data["_pro_facilities_inside"] = true;
}
}); */
data["_pro_images"] = false;
$('input[name="_pro_images[]"]').each(function(){
if($(this).val().length>0){
data["_pro_images"] = true;
}
});
data["_pro_type"] = $('#_pro_type').val();
data["_pro_location"] = $('#_pro_location').val();
data["_pro_address"] = $('#_pro_address').val();
data["_pro_voyage"] = $('#_pro_voyage').val();
data["_pro_price_rate"] = $('#_pro_price_rate').val();
data["_pro_price"] = $('#_pro_price').val();
data["_pro_price_rent"] = $('#_pro_price_rent').val();
data["_pro_tags"] = $('#_pro_tags').val();
var editorContent = tinymce.get("_pro_description").getContent();
if (editorContent == ''){ data['content'] = false; }else{ data['content'] = true; }
var allchk = true;
$.each( data, function( key, value ) {
if(!value||value.length<1||value=='0.00'||value==0){
if(key=='_pro_images'){
$('input').addClass('bdr');
$('.photox').addClass('err').addClass('bdr');
$('textarea').addClass('err').addClass('bdr');
$('select').addClass('bdr');
allchk = false;
}else{
$('input').addClass('bdr');
$('textarea').addClass('err').addClass('bdr');
$('#'+key).addClass('err');
$('select').addClass('bdr');
allchk = false;
}
}else{
if(key=='_pro_images'){
$('.photox').removeClass('err').removeClass('bdr');
$('input').removeClass('err').removeClass('bdr');
$('select').removeClass('err').removeClass('bdr');
}else{
$('#'+key).removeClass('err').removeClass('bdr');
$('input').removeClass('err').removeClass('bdr');
$('select').removeClass('err').removeClass('bdr');
}
}
});
if(!allchk){
popme();
return false; e.preventDefault();
}
$('.site-content').removeClass('err');
console.log("OK submit");
});
});
function popme(){
alert('กรุณาตรวจสอบข้อมูลให้ครบอีกครั้งค่ะ');
}
</script>
<style>
.err{ background:#FFF0D9!important; }
.bdr{ border:#000 1px solid!important; }
</style>
Tag : PHP, HTML, CSS, jQuery
|
ประวัติการแก้ไข 2021-04-11 18:49:43 2021-04-11 21:34:23 2021-04-11 21:35:23
|
|
|
|
|
Date :
2021-04-10 21:42:33 |
By :
shinobuclub |
View :
560 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อยากทราบว่าต้องเพิ่มจุดใหน หรือต้องแก้จุดใหน เพราะเวลากรอกลงไปบางจุดมันหายตามทั้งๆที่ยังไม่ได้กรอกอะครับ
|
|
|
|
|
Date :
2021-04-11 18:48:06 |
By :
shinobuclub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณแน่ใจหรือว่าโค้ดที่เอามาแปะมันใช่ที่มีปัญหาหรือมันทำงานได้?
เอาโค้ดจริงๆของจริงที่มีปัญหามาดู ไม่ใช่โค้ดอะไรก็ไม่รู้แบบนี้....
ผมเห็น html มีแค่อันเดียวแถมเป็น input hidden ซึ่งไม่แสดงผลอีก
แล้วแต่ละฟิลด์อันไหน id, class อะไรผมว่าใครๆก็ไล่ไม่ถูกหรอกถ้าไม่เห็นของจริง
แล้วอันไหนที่ว่าสีเดียว ก็ยิ่งไล่ไม่ถูกใหญ่เลย
เอาของจริงมาแปะ จะตัดทอนก็เอาที่มันเกี่ยวข้องมาให้ไล่ตรวจสอบได้ ไม่ใช่ตรวจอะไรไม่ได้เลยครับ
ถ้าใช้เป็น ลองแปะใน jsfiddle อะไรพวกนี้ดูด้วย ให้มันรันเป็นตัวอย่างออนไลน์ไปเลยยิ่งดี
https://jsfiddle.net/
|
ประวัติการแก้ไข 2021-04-11 20:24:45
|
|
|
|
Date :
2021-04-11 19:59:36 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เข้าลิ้งค์ไปแล้วก็ทำอะไรไม่ได้ เพราะติด login
กรณีมีปัญหาแบบนี้ อย่างแรกควรต้องแยกให้ออกว่ามันคือปัญหาของ client script ซึ่งคือ JavaScript ไม่ใช่ PHP.
ดังนั้นเพื่อให้แก้ปัญหาง่ายขึ้น รวมถึงขอความช่วยเหลือจากคนอื่นได้ด้วย ให้ view source เอาการแสดงผลที่ไม่มี PHP มาเกี่ยว ลอกเอาตรงนั้นออกมาให้มีแต่ HTML, CSS, JS แค่นี้.
จากนั้นอาจจะสร้างไฟล์ .html ขึ้นมาโดยยังไม่ต้องไปสนใจ PHP เพราะปัญหานี้อย่างที่บอกไม่ใช่ PHP แต่มาจาก JS ซึ่งคุณก็คงรู้แหละ ใช่มั้ย?
เมื่อสร้างไฟล์ .html ก็เอา HTML source ที่ลอกมาใส่ลงไป แล้วเรียกดูว่าแสดงผลเหมือนกันหรือยัง ไฟล์ .css, .js เรียกมาครบหรือยัง.
จากนั้นทดลอง submit form ดูว่าปัญหายังเหมือนเดิมมั้ย ถ้าเหมือนเดิมทีนี้ก็จะส่งต่อให้ใครต่อใครช่วยได้ง่ายขึ้นมากๆ เพราะไม่ต้องมาติด login หรืออะไรต่ออะไรที่มีใน server side.
ยกตัวอย่าง ผมเลาะเอา HTML, CSS, JS มาใส่ใน jsfiddle ตามลิ้งค์ข้างบน แล้วทดลองปรับจนมันพอทำงานได้แล้วรันดู ได้ตามลิ้งค์ตัวอย่างนี้ https://jsfiddle.net/tzgaoe7n/.
จากตรงนี้ ผมดูๆก็คิดว่าปัญหาคงมาจากการดัก if ตั้งแต่ บรรทัด 689 - 714 ตามโค้ดของคุณข้างบนนั่น ซึ่งผมก็ไม่ค่อยเข้าใจคำถามอย่างเช่น
ขึ้นจุดนี่คืออะไร ขึ้นตอนไหน ขึ้นฝั่ง php ตอนรับค่าไปหรือยังไง?
สีหายสีไม่หายนี่คือสีเหลืองๆตอน submit form? แล้วมันมีขึ้น alert ด้วยใช่มั้ย?
เพราะดูแล้วการตรวจก็อยู่แค่บรรทัดอย่างที่ผมว่า มันมีอยู่ในแค่นั้น เพียงแต่ดูแล้วงงๆเหมือนเช็คจากการเลือกไฟล์ภาพเป็นหลัก.
แล้วบางอันมีแค่นี้ $('select').addClass('bdr'); คือมันก็เหมือนกับไม่ได้มีสีเหลืองๆด้วย ทั้งที่เอามันไปอยู่ในเงื่อนไขฟอร์มที่ไม่ได้กรอกไม่ได้เลือก ดังนั้นตรวจตรงนี้ให้ดีๆด้วยว่าจะเพิ่ม class err ด้วยหรือเปล่า?
.....
ผมก๊อป php ไปรันแล้วไล่ลบฟังก์ชั่นที่ไม่มีออกรวมถังตัวแปร แล้ว view source เอาเฉพาะ HTML ก็จะได้ประมาณนี้ https://jsfiddle.net/rfnwamcL/
จริงๆปัญหานี้คือเหมือนกับคุณไปตรวจแล้วเอา if ไปครอบ บางอันผ่านเงื่อนไขแล้วกรอกแล้วแต่ไม่ผ่าน if เลยยังติดสีเหลืองๆอยู่
ทางแก้เบื้องต้นคือ แต่ละ input ควรมี id กับ name ตรงกันเพื่อความง่าย แล้วในการ .each วนลูปตรวจเงื่อนไข อันไหนไม่ผ่าน ก็เอา $('#'+key) จัดไปว่าจะ add class อะไรให้มันมี error แล้วก็กำหนด allchk = false ไปด้วย
ตัวอย่าง
Code (JavaScript)
<input id="myname" type="text" name="myname">
<input id="myname2" type="text" name="myname2">
<script>
// ตัดตอนมา
$.each(data, function(key, value) {
if (!value || value.length < 1 || value == '0.00' || value == 0) {
$('#' + key).addClass('err bdr');// อันเดียวได้ทุก input ที่มี id ใน key
allchk = false;
} else {
$('#' + key).removeClass('err bdr');
}
});
</script>
|
ประวัติการแก้ไข 2021-04-11 23:55:11 2021-04-11 23:57:17
|
|
|
|
Date :
2021-04-11 23:26:20 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
https://jsfiddle.net/8gchjbt1/
อันนี้ตัวอย่างแนวทาง ลองอ่านทำความเข้าใจโค้ดดู มันจะตรวจเป็นอันๆไป การเอา if ไปพ่วงอันอื่นถ้าไม่ระวังมันจะติดพันอิรุงตุงนัง วุ่นกว่าแบบนี้
|
|
|
|
|
Date :
2021-04-12 00:05:50 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|