web-dev-qa-db-fra.com

limiter le nombre de caractères lors de la publication d'un formulaire

J'ai un formulaire où les utilisateurs peuvent poser des questions sur ma page et j'aimerais limiter les caractères dans la partie description du formulaire. Ce serait également un avantage si je pouvais obtenir un compteur Word au travail.

La forme:

            <p><label for="title">Titel</label><br />
            <input type="text" id="title" value="" tabindex="1" size="20" name="title2" />
            </p>

            <p><?php wp_dropdown_categories( 'show_option_none=Kategorier&tab_index=4&taxonomy=register_vote_category&hide_empty=0' ); ?></p>

            <p><label for="description">Beskrivning</label><br />
            <textarea id="description" tabindex="3" name="description2" cols="50" rows="6"></textarea>
            </p>

            <p><input type="submit" value="Skicka" tabindex="6" id="submit" name="submit2" /></p>

            <input type="hidden" name="action" value="new_post" />
            <?php wp_nonce_field( 'new-post' ); ?>
        </form>

Le php:

if(isset($_POST['submit2'])) {

            $title = $_POST['title2'];
            $description = $_POST['description2'];

            if(strlen($title) <= 0 || strlen($description) <= 0){


                echo wpautop( 'Du måste skriva i både titel och beskrivning' );

            }
            else if (strlen($title) >= 1 && strlen($description) >= 1) {

            $new_post = array(
                'post_title'    => $title,
                'post_content'  => $description,
                'post_category' => array($_POST['cat']),  // Usable for custom taxonomies too
                'post_status'   => 'publish',           // Choose: publish, preview, future, draft, etc.
                'post_type' => 'category-vote'  //'post',page' or use a custom post type if you want to
            );
            //save the new post
            $pid = wp_insert_post($new_post); 
            //insert taxonomies
            }
        };
1
Adam Lundberg

Pour limiter les caractères, ajoutez ceci à votre zone de texte: maxlength="200" en remplaçant "200" par ce que vous souhaitez que la limite de caractères soit.

<textarea id="description" maxlength="200" tabindex="3" name="description2" cols="50" rows="6"></textarea>

Pour un compteur de caractères, vous aurez besoin de quelques bases de Javascript, comme ceci:

counter = function() {
    var value = $('#description').val();

    if (value.length == 0) {
        $('#totalChars').html(0);
        return;
    }

    var totalChars = value.length;

    $('#totalChars').html(totalChars); //change the selector to whatever the ID of your counter area is
};

$(document).ready(function() {
    $('#description').change(counter);
    $('#description').keydown(counter);
    $('#description').keypress(counter);
    $('#description').keyup(counter);
    $('#description').blur(counter);
    $('#description').focus(counter);
});
2
APAD1