jquery - 表单输入不保存

时间:2014-06-02 21:35:22

标签: jquery forms

我有一个歌曲列表,这些歌曲是从具有添加新歌曲的表单的页面上的数据库中提取的。添加和删​​除功能都可以正常工作。当我点击现有的歌曲时,它会填充表格以便进行编辑。数据正在正确发送到字段。但是,提交表单时,它会重新加载页面,但没有任何更改。这是当前的javascript:

$('.song-link').click(function(){
    // Fetching data
    var title = $(this).data('title');
    var band = $(this).data('band');
    var category = $(this).data('category');

    // Assigning data
    $('#title').val(title);
    $('#band').val(band);
    $('#category').val(category);
});

如何让它实际提交数据?我在检查器中查看了它,并且代码中的值似乎没有变化,但它在视觉上是可行的。

我应该采取另一种方式吗?

修改

<form name="form1" method="post" action="" enctype="multipart/form-data">
    <p><?php _e("Song Title:", 'menu-test' ); ?> <input type="text" name="title" id="title" value="" size="20"></p>
    <p><?php _e("Band/Artist Name:", 'menu-test' ); ?> <input type="text" name="band" id="band" value="" size="20"></p>
    <p>
    <select name="category" id="category">
        <option value="Current and “All Time” Dance Hits">Current and “All Time” Dance Hits</option>
        <option value="R &amp; B, Motown, Disco">R &amp; B, Motown, Disco</option>
        <option value="80’s, 90’s, Rock">80’s, 90’s, Rock</option>
        <option value="Ballads">Ballads</option>
        <option value="Cocktail / Dinner Hour">Cocktail / Dinner Hour</option>
        <option value="Latin / Swing">Latin / Swing</option>
        <option value="Specialty">Specialty</option>
    </select>
    </p>
    <p><?php _e("File:", 'menu-test' ); ?> <input type="file" name="file" /></p>
    <hr />
    <input type="hidden" name="id" id="id" value="1" />
    <p class="submit"><input type="submit" name="Submit" class="button-primary" value="<?php esc_attr_e('Save Changes') ?>" /></p>
</form>

它位于一个worpdress网站中,所以我通过以下方式访问数据库:

$title = $_POST['title'];
$song_check = $wpdb->get_results("SELECT * FROM song_list WHERE title = '".$title."'");
if(!$song_check){
    $wpdb->insert('song_list',array(
                                'title' => $_POST['title'],
                                'band' => $_POST['band'],
                                'category' => $_POST['category'],
                                'file' => $movefile['url']
                                ));
}else{
    $wpdb->update('song_list',array(
                                'title' => $_POST['title'],
                                'band' => $_POST['band'],
                                'category' => $_POST['category'],
                                ),
                            array(
                                'ID' => $_POST['id']
                                ));
}

1 个答案:

答案 0 :(得分:1)

您应该阻止anchor的默认行为:

$('.song-link').click(function(e){
    e.preventDefault()

    // Fetching data
    var title = $(this).data('title');
    var band = $(this).data('band');
    var category = $(this).data('category');

    // Assigning data
    $('#title').val(title);
    $('#band').val(band);
    $('#category').val(category);
});